1

解決策を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);

どちらの方法でもスピナーを正しく初期化できますが、スピナーをクリックするとアプリがクラッシュします。

4

1 に答える 1

0

このコードを試してください。

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.XXXX, null);
        this.setContentView(viewToLoad); 
于 2013-03-30T07:02:06.537 に答える