0

我的 xml 中有一个按钮。我想以编程方式弹出微调器,而不是从 xml 之后

点击按钮。但是当我点击按钮时,它给了我一个错误。

日志输出-:

android.view.WindoManager

$BadTokenException: Unable to add window--token null is not for an application

这是我的代码:

b1.setOnclickListener(new View.OnClickListener(){
public void onClick(View v) {
List<String> list = new ArrayLIst<String>(Arrays.asList("a","s","d"));
Spinner t = new Spinner(getApplicationContext());
ArrayAdapter<String> adp = new ArrayAdapter<String>   

(getApplicationContext(),android.R.layout.simple_spinner_item,list);
adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
t.setAdapter(adp);
t.performClick();
4

4 回答 4

2

试一试:改变getApplicationContext()withActivityName.this

我相信这会给出正确的标记来显示微调器。

于 2012-09-21T09:51:53.567 回答
1
       List<String> list = new ArrayList<String>(Arrays.asList("a","b","c"));
       t = new Spinner(ActivityName.this);
       ArrayAdapter<String> adp = new ArrayAdapter<String>   

      (ActivityName.this,android.R.layout.simple_spinner_item,list);
      adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      t.setAdapter(adp);
          t.performClick();
于 2012-10-19T09:26:36.970 回答
0

我认为您已将此代码放入 onCreate() 中。布局尚未附加到窗口,您正在尝试显示窗口。所以窗口管理器抛出异常。我没有找到任何代码来将此微调器添加到显示布局中。

于 2012-09-21T08:33:54.920 回答
0

您需要将 Spinner 添加到您的活动/视图中。

试试这个:

ViewGroup v = (ViewGroup) findViewById(R.id.your_id_for_a_linear_layout); // or relatvie etc
v.addChild(t);
t.performClick();
于 2012-09-21T08:35:12.397 回答