質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

628閲覧

Android Studio のDialogFlagmentにSpinnerを入れて値を取得したいです

Takuminn

総合スコア14

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

1クリップ

投稿2019/07/06 08:37

前提・実現したいこと

android studio でdialogflagmentの中にspinnerを入れて値を取得したいのですがthisの部分にエラーが出て先に進めませんどなたか解決法を教えていただけると幸いです。

該当のソースコード(この部分にエラーが出ています)

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
// ドロップダウンのレイアウトを指定

public class CustomDialogFlagment extends DialogFragment{ EditText editText1; Spinner spinner1; ArrayAdapter<String> adapter; @Override public Dialog onCreateDialog(Bundle savedInstanceState){ ArrayList<String> list = new ArrayList<String>(); // Listにデータを入れる list.add("りゅう"); list.add("へび"); list.add("うま"); list.add("ひつじ"); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); // ドロップダウンのレイアウトを指定 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); Dialog dialog = new Dialog(getActivity()); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.dialog); dialog.getWindow().setLayout(WindowManager.LayoutParams.FILL_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); editText1 = (EditText)(dialog.findViewById(R.id.edittext1)); spinner1 = (Spinner)(dialog.findViewById(R.id.spinner1)); spinner1.setAdapter(adapter); dialog.findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String text = editText1.getText().toString(); MainActivity mainActivity = (MainActivity) getActivity(); mainActivity.setTextView12(text); mainActivity.saveData12(text); dismiss(); } }); dialog.findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); return dialog; }

dialog.xml

<LinearLayout android:id="@+id/alertdialog_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="61dp" android:text="登録画面でさ" android:textSize="36sp" /> <EditText android:id="@+id/edittext1" android:layout_width="match_parent" android:layout_height="82dp" android:hint="時間割を入力してくだちい" /> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="背景色を選んでください" /> <Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="48dp" android:entries="@array/list" android:prompt="@string/Prompt" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <Button android:id="@+id/button2" android:layout_width="0dp" android:layout_height="70dp" android:layout_weight="1" android:text="Cansel" /> <Button android:id="@+id/button1" android:layout_width="0dp" android:layout_height="70dp" android:layout_weight="1" android:text="決定" /> </LinearLayout> </LinearLayout> </LinearLayout>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/07/06 09:54

何のエラーが出ているかは書かないんですね。
guest

回答1

0

ベストアンサー

エラーが書いていないので憶測で書くと、ArrayAdapterのコンストラクタの1番目の引数はContextなので、DialogFragmentは渡せません。
getContext() なりを渡してあげてください。

投稿2019/07/06 11:50

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takuminn

2019/07/08 03:35

エラー書けていなくてすみません 無事解決することができました。ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問