无法获得点击听众2 [英] cant get 2 on click listeners toghether

查看:74
本文介绍了无法获得点击听众2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨那里!

Im net to android programming很抱歉,如果这是noobish,但无法在任何地方找到一个好的例子。我使用点击监听器在同一屏幕上有2个图像按钮。我一直在标记上出现括号错误和语法错误,而AnnotationName则会出现错误。



Hi there!
Im net to android programming so sorry if this is noobish, but cant find a good example anywhere. I have 2 image button on the same screen using a on click listener. I keep getting bracket errors and Syntax error on tokens, AnnotationName expected instead errors.

    startButton1.setOnClickListener(new OnClickListener() {
        startButton2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {



            if(currentRun == 0){

                startButton1.setText(hitButtonText);
                startButton1Parent.setBackgroundResource(R.drawable.pump_red);
                startButton2.setText(hitButtonText);
                startButton2Parent.setBackgroundResource(R.drawable.pump_red);
                new TimerClass().execute();
            }else{
                if(allowHit){
                    isHit = true;
                }
            }
        }
    });
}





任何想法?



谢谢你



any ideas?

thank you

推荐答案

你可以为每个按钮定义事件。



另一种方式,你可以做像这样:



You can define event for each button.

Another way, you can do like this:

private OnClickListener mListener = new OnClickListener() {
	@Override
	public void onClick(View v) {
		Button btn = (Button)v;
                // if btn is startButton1
		if (btn.getId() == R.id.startButton1) {
                // do something
                } else (btn.getId() == R.id.startButton2) {
                // do something
                }
	}
};

startButton1.setOnClickListener(mListener);
startButton2.setOnClickListener(mListener);


new OnClickListener() {
  startButton2.setOnClickListener(new OnClickListener() {
    // some code
 }
}





这将永远无法工作。



当你声明这样一个OnClickListener时,你声明一个匿名类。那个是定义的。如果没有可直接访问的方法onClick(查看v),动作不会发生。



试试这个:



THAT will never work.

When you declare such a OnClickListener, you declare an anonymous class. That one is defined. If there is no directly accessable method onClick(View v), the action will not happen.

Try this:

startButton1.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
    // fancy code for button1
  }
});
startButton2.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
    // fancy code for button2
  }
});


这篇关于无法获得点击听众2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆