将微调器放入活动组时出错

时间:2010-12-31 06:19:01

标签: android

我有一个包含3个活动的活动组。按下按钮后,我进入此活动组并显示第一个活动。从第1次活动开始,我可以参加第2次活动,从第2次活动开始,我可以参加第3次活动。

我在第3个活动布局中有一个微调器。问题是我无法点击该微调器。显示错误显示:

12-31 11:29:41.082: ERROR/AndroidRuntime(474): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@43791b18 is not valid; is your activity running?

我该如何解决这个问题?任何人都可以帮助......

您好,

请找到附加微调器的代码:

setContentView(R.layout.requestinfo);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            PGDealerInfoRequestActivity.this, R.array.request_options, android.R.layout.simple_spinner_item);
    spinner.setAdapter(adapter);

在requestinfo.xml中,

<Spinner android:id="@+id/spinner" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:textColor="@android:color/darker_gray"
            android:textSize="12sp" android:textStyle="bold"
            android:layout_marginLeft="10dp" android:layout_marginTop="8dp" />

4 个答案:

答案 0 :(得分:44)

错误在于setContentView。 我已经给了

setContentView(R.layout.mylayout);

而不是我们应该给予,

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

spinner代码是:

Spinner spinner = (Spinner) findViewById(R.id.spinner);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.request_options, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
    spinner.setAdapter(adapter);

答案 1 :(得分:1)

可以添加spiner.setDropDownViewResource()吗?在初始化中,使用名为this或getApplicationContext()的上下文,例如AlertDialog.Builder(xxx.this)=&gt; AlertDialog.Builder(this.getParent())

答案 2 :(得分:0)

这可能会解决您的问题 this.getParent() 我多次在代码中使用它。它运作f9。

答案 3 :(得分:0)

Mathew他的方法有效:

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

我将此方法添加到,然后我的应用程序在按钮单击时崩溃。 要解决此问题,请删除xml文件中的onClick方法。 转到java类并添加button.setOnClickListener!