单击ActivityGroup中的微调器时出现BadTokenException

时间:2012-07-28 16:02:52

标签: android tabs spinner activitygroup

我现在搜索了两天的解决方案,但我找不到有用的东西。

我有一个带有4个标签的TabHost,更改可以将视图从第一个标签更改为另一个我有旋转器的标签。这个微调器初始化正确,但是我无法点击它,因为如果我这样做,我会得到一个BadTokenException

07-28 13:52:59.446: E/AndroidRuntime(692): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@405496d8 is not valid; is your activity running?

现在代码:

viewToLoad = LayoutInflater.from(this).inflate(R.layout.projekt_daten, null);
        this.setContentView(viewToLoad);

要了解一些变量我的函数调用

fuelleSpinner("SELECT _id, name FROM kunden", R.id.s_kundenauswahl);

所以我填充了微调器:

private void fuelleSpinner(String selection, int spinnerID){

    Cursor spinnerCursor = mDatenbank.rawQuery(selection, null);
    spinner = (Spinner) findViewById(spinnerID);
    String[] data = new String[spinnerCursor.getCount()];

    for(int i = 0; i  adapter = 
        new ArrayAdapter(getParent(), android.R.layout.simple_spinner_item, data);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
}

我也试过这个:

ArrayAdapter adapter = ArrayAdapter.createFromResource(
                getParent(), R.array.array_name, android.R.layout.simple_spinner_item);

两种方式都能正确初始化微调器,但是如果我点击微调器,应用程序就会崩溃。

1 个答案:

答案 0 :(得分:0)

试试这段代码。

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.XXXX, null);
        this.setContentView(viewToLoad);