0

マップフラグメントを使用して、マップ上のユーザーの現在の場所を表示しています..また、トップバーのスピナー..以下の画像を参照してください:

ここに画像の説明を入力

ここでは、すべてのビューがタブ アクティビティにあります。スピナーをクリックして展開すると、アプリがクラッシュし、次のようなエラーが表示されます。

       android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@40643d88 is not valid; is your activity running?

スピナーにアイテムを設定するには、次のコードを参照してください。

     ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getParent(),
            android.R.layout.simple_spinner_item, cat);
     dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner_cat.setAdapter(dataAdapter);

提案してください..これらのビューはタブにあることに注意してください

4

2 に答える 2

0

getParent() の代わりに getActivity() を渡してみてください。

アダプターコンストラクターで

于 2013-06-27T18:47:06.893 に答える
0

ビューにフラグメントを追加するときに同じ問題が発生しました( ではなくMapfragment、カスタムのものだけ)。私にとっての答えは を渡すことでしたがgetApplicationContext()、フラグメントをインスタンス化した後、別のメソッドを使用してそれを行う必要がありました。バンドルの使用が必要でした。

上記で渡されたコンテキストを使用して、ビューをインフレートするときは、次のことも必要です。

View v = inflater.from(context).inflate(R.layout.layout_name, ViewGroup container, T/F);

だけではなく

View v = inflater.inflate(R.layout.layout_name, ViewGroup container, T/F);

お役に立てれば。

于 2014-09-23T16:19:59.360 に答える