1

我真的不明白是什么问题。

这运行得很好。

super.onCreate(savedInstanceState);
setContentView(R.layout.select);

Resources r = getResources();
values = r.getStringArray(R.array.values);

sSelect = (Spinner) findViewById(R.id.sSelect);
tvSelect = (TextView) findViewById(R.id.tvSelect);

但这行不通。

super.onCreate(savedInstanceState);
setContentView(R.layout.select);

Resources r = getResources();
values = r.getStringArray(R.array.values);

sSelect = (Spinner) findViewById(R.id.sSelect);
tvSelect = (TextView) findViewById(R.id.tvSelect);

sSelect.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub
    }
});

我真的很想知道是什么问题。另外我怎么知道问题出在哪里?android编程没有报错?

编辑:setOnItemClickListener 不能与微调器一起使用我可以将哪个侦听器与微调器一起使用?我不想使用 onItemSelectedListener 因为它在应用程序启动时运行。

4

2 回答 2

4

您必须使用onItemSelectedListener微调器。然后,将该item[0]值用作“未选择”或类似的东西。当您想调用对话框时,请编写如下内容:

     if(item[position] > 0)
      {
       //start dialog
      }
于 2013-09-28T16:44:39.580 回答
1

只是猜测,但您很可能在sSelect资源名称中有拼写错误,并且NullPointerException在调用setOnItemClickListener.

仔细检查您的布局中有一个Spinner命名。sSelectselect

编辑

正确的听众是Spinner.-

AdapterView.OnItemSelectedListener

sSelect.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, android.view.View v, int position, long id) {
    }

    public void onNothingSelected(AdapterView<?> parent) {
}
});
于 2013-09-28T16:26:40.050 回答