如何检查按钮是否已单击运行此其他?

时间:2014-07-02 13:10:27

标签: java android android-activity

我检查了所有的方法,没用!   我想检查点击Button何时将文本设置为“好”   将文本设置为“跳转”。

这可能吗?   Button文本“跳转”,点击时设置为“好”   否则,在不再使用setText的情况下将文本重置为原始文件?

public void onClick(View arg0) {
            // TODO Auto-generated method stub
            if(b.isSelected()){

            b.setText("Good");
            }
            else
                b.setText("Jump");  

        }
    });

4 个答案:

答案 0 :(得分:2)

你可能想要使用OnTouchListener,它返回的MotionEvent事件有ACTION_DOWN和ACTION_UP状态/动作,分别对应于按下和释放按钮的时间。

您可以像设置onclicklistener一样设置监听器:

myButton.setOnTouchListener(this); // Assuming you implement the listener interface in the same class.

你的OnTouchListener方法看起来像这样:

onTouch(View v, MotionEvent event){ 
  if(v.getId() == R.id.myButtonId){
     if(event.getAction() == MotionEvent.ACTION_DOWN){
       // TODO change button text to "good"
     }else if(event.getAction() == MotionEvent.ACTION_UP){
       // TODO change button text to "jump"
     }
  }
}

答案 1 :(得分:1)

试试这种方式,希望这可以帮助您解决问题。

    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        button = (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (button.getText().toString().equals("Jump")) {
                    button.setText("Good");
                } else {
                    button.setText("Jump");
                }
            }
        });
    }

答案 2 :(得分:0)

boolean mClicked=false;
public void onClick(View arg0) 
{
            mClicked=!mClicked;
            if(mClicked)
            {
            b.setText("Good");
            }
            else
            {
                b.setText("Jump");
            }  

        }
    });

答案 3 :(得分:0)

使用此代码 -

String text="Jump"
button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {
                 text="Good";  
                 b.setText(text);
  }
 });