当我定义onItemSelectedListener时,不幸地停止了错误

时间:2013-09-28 16:20:50

标签: java android

我真的无法理解是什么问题。

这种情况很好。

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,因为它在应用程序启动时运行。

2 个答案:

答案 0 :(得分:4)

你必须使用onItemSelectedListener作为Spinner。然后,使用item[0]值作为“未选择”或类似的东西。如果要调用对话框,请编写如下内容:

     if(item[position] > 0)
      {
       //start dialog
      }

答案 1 :(得分:1)

只是猜测,但有可能在sSelect资源名称中输入错字,在调用NullPointerException时有setOnItemClickListener

仔细检查Spinner布局中sSelect是否为select

修改

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) {
}
});