如何在Spinner onItemSelected(...)方法中处理Button的onClickListener?

时间:2012-07-05 02:09:44

标签: android android-spinner android-button onclicklistener

我有一个Spinner.onItemSelected()方法,我希望能够在选择Button项后点击Spinner后发生一个事件。

例如,如果为Spinner选择Beginner,则单击Java以获取另一个微调器。在那之下,我有一个按钮,表示开始。如何将Button.onClick事件与所选的微调器选项对应?

我做了类似的事情,但setOnClickListener()没有读取我指定为View.OnClickListener值的内容。

   public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
    // TODO Auto-generated method stub
    selected = (Integer) arg0.getItemAtPosition(0);
    position = spinner.getSelectedItemPosition();
    start = (Button)findViewById(R.id.start);
    start.setOnClickListener(phaseHandler);

    View.OnClickListener phaseHandler = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    };


}

我声明的phaseHandler未被start.setOnClickListener(phaseHandler)读取,因此导致View.OnCLickListenr调用无效,因为phaseHandler未设置为Button开始。在Eclipse中,phaseHandler的红色下划线表示错误,表示start.setOnClickListener(phaseHandler);

任何想法?

1 个答案:

答案 0 :(得分:2)

move start.setOnClickListener(phaseHandler);下 这可能会对你有所帮助

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
    // TODO Auto-generated method stub
    selected = (Integer) arg0.getItemAtPosition(0);
    position = spinner.getSelectedItemPosition();
    start = (Button)findViewById(R.id.start);


    View.OnClickListener phaseHandler = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    };

    start.setOnClickListener(phaseHandler);


}