/ /メソッドgetActivity()は、タイプnew runnable(){}に対して未定義です-java、android、spinner

メソッドgetActivity()は、タイプnew Runnable(){}に対して未定義です-java、android、spinner

安らかなAPIからプルしているJSONオブジェクトをSpinnerに追加しようとしています。

しかし、アダプターをスピナーで動作させる方法はわかりません。私が試してみました getActivity() そして、私は「試した this キーワード。どちらも機能しておらず、このコンテキストで人々がスピナーを更新しようとしているものをGoogleで見つけることはできません。

これが私が使っているコードです。 http://pastebin.com/bQWDHekB。私がちょうど getActivity() それは言う、 The method getActivity() is undefined for the type new Runnable(){}

しかし私が使うとき this と言う The constructor ArrayAdapter<String>(new Runnable(){}, int, String[]) is undefined

-編集- マールテンスの回答によると、私は MainActivity.this よりよく働いた getApplicationContext()。あなたが使うとき getApplicationContext() 別のスタイルを使用する傾向があり、スピナーに白い背景に白いテキストが表示されるようにしました。うまくいけば、これは私と同じトラブルを抱えた他の誰かを助けます。

回答:

回答№1は0

まあ、それは Runnable それはない getActivity() 方法。

置き換えることにより、ラッピングアクティビティへの参照を取得できます。

new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, array_spinner);

〜によって

new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, array_spinner);

または、必要なのは Context

new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, array_spinner);

これは

new ArrayAdapter<String>(MainActivity.this.getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, array_spinner);