なぜthis
は以下の部分に誤りがありますか? "this"はフラグメントにエラーが発生しました
この
は私のコードです:ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, spinnerArray);
なぜthis
は以下の部分に誤りがありますか? "this"はフラグメントにエラーが発生しました
この
は私のコードです:ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, spinnerArray);
this.getContext()
とthis
を交換したり、単純にgetContext()
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(),
android.R.layout.simple_spinner_item, spinnerArray);
ビーイングがArrayAdapter
オブジェクトのコンストラクタは次のように見えることである理由は、
https://developer.android.com/reference/android/widget/ArrayAdapter.html 、
ArrayAdapter(Context context, int resource, T[] objects)
または
ArrayAdapter(Context context, int resource, List<T> objects)
おそらく前に起こっていたコードの行をしていたことをクラスがないタイプContext
最も可能性の高いだったということです。したがって、ArrayAdapterの構築では、パラメータとしてthis
を単独で使用することはできません。 getContext()
が機能しない場合は、getActivity()
またはgetApplicationContext()
もお勧めします。
フラグメントにthis
を使用する代わりに、getActivity().getApplicationContext()
を試すことができます。
フラグメントがネストされたクラスの場合のみ –
これを試してみてください:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(), android.R.layout.simple_spinner_item, spinnerArray);
getContext()
は、APIのみ23に添加して、いくつかのデバイス(AndroidのMは依然として巨大な市場シェアを持っていないので)でのみ動作するはずです。
getActivity()
がAPI 11に追加されました。使用することはできません。
断片が関連付けられている活動のコンテキストを返す使用getActivity()
。
だからあなたのコードは
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, spinnerArray);`]
がない場合のタイプの中のコード行 'Context'は、その後、あなたは'だけでどのような場合でも、内this' –
を使用することができないためというクラスでなりエラー?より具体的にしてください。 – Lino
アクティビティはContextオブジェクトです。断片はそうではありません。 –