解決策を2日間検索しましたが、うまくいくものは見つかりませんでした。
私は 4 つのタブを持つ TabHost を持っています。変更すると、最初のタブからスピナーがある別のタブにビューを変更できます。このスピナーは正しく初期化されますが、クリックできません。クリックすると、BadTokenException が発生します。
07-28 13:52:59.446: E/AndroidRuntime(692): android.view.WindowManager$BadTokenException: ウィンドウを追加できません -- トークン android.app.LocalActivityManager$LocalActivityRecord@405496d8 は無効です。あなたの活動は進んでいますか?
コードへ:
viewToLoad = LayoutInflater.from(this).inflate(R.layout.projekt_daten, null); this.setContentView(viewToLoad);
いくつかの変数を理解するために私の関数呼び出し
FuelleSpinner("SELECT _id, name FROM くんでん", R.id.s_kundenauswahl);
だから私はスピナーを埋める:
private void FuelleSpinner(String selection, int spinnerID){ カーソル spinnerCursor = mDatenbank.rawQuery(selection, null); スピナー = (スピナー) findViewById(スピナーID); String[] data = new String[spinnerCursor.getCount()]; for(int i = 0; i アダプタ = new ArrayAdapter(getParent(), android.R.layout.simple_spinner_item, data); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(アダプター); }
私もこれを試しました:
ArrayAdapter アダプター = ArrayAdapter.createFromResource( getParent(), R.array.array_name, android.R.layout.simple_spinner_item);
どちらの方法でもスピナーを正しく初期化できますが、スピナーをクリックするとアプリがクラッシュします。