为什么其中一个onClickListerners工作但其他工作没有?

时间:2013-12-04 22:45:32

标签: android onclicklistener android-button

startBubbles有效。检查员没有。如果您愿意,我可以发布setAll()countDown.start(),但正如我所说,一切正常。检查员有什么理由不起作用吗?

OnClickListener startBubbles = new OnClickListener(){

    @Override
    public void onClick(View arg0) {
        setAll();
        countDown.start();
    }

};

OnClickListener checker = new OnClickListener(){

    @Override
    public void onClick(View v) {
        String choice = ((Button)v).getText().toString();
        if(choice.equals(matcher.getText().toString())){
            a++;
            setAll();
        }else {
            ((Button)v).setText("Wrong!");
        }

    }

};

以前一切都工作,但后来我试图做一些改变(为了更好),不能,并试图回溯。把问题整理了一个小时。一切都很好但是这个。

并且logcat中没有出现错误。

2 个答案:

答案 0 :(得分:0)

创建两个OnClickListener对象效率低下。我通常会尽可能避免不必要的对象创建。

我使用的常见模式是使Activity类实现OnClickListener

public class MyActivity extends Activity implements OnClickListener {

    private Button button1; 
    private Button button2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      button1 = (Button)findViewById(R.id.button1);
      button1.setOnClickListener(this);
      button2 = (Button)findViewById(R.id.button2);
      button2.setOnClickListener(this);
    }

    ...

    @Override
    public void onClick(View v) {
      if (v == button1) {
        // do something
      }
      else if (v == button2) {
        // do something else
      }

    }
}

答案 1 :(得分:0)

我认为你没有指定onClick链接的按钮试试这个

yourButton=(Button) findViewById(R.id.yourbutton);
yourButton.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            setAll();
    countDown.start();
                        }
                    });