当前位置: 代码迷 >> Android >> button的impressed()跟onclickedlistener()的区别
  详细解决方案

button的impressed()跟onclickedlistener()的区别

热度:60   发布时间:2016-04-28 05:09:48.0
button的impressed()和onclickedlistener()的区别
我发现button里有一个方法叫impressed(),我测试了一下,当点击button时,都是调用的OnClickListener(),ispressed()并没有调用。那么这个方法是什么时候用的?我试过下面的代码:
if(button.ispressed()){
system.out.print("button,ispressed");
}
发现并没有打印,请问前辈这个方法是怎么调用的?
------解决方案--------------------
官方解释:
Indicates whether the view is currently in pressed state. Unless setPressed(boolean) is explicitly called, only clickable views can enter the pressed state.

只有可点击的View才有Press状态


final Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
if (btn.isPressed()) {
System.out.println("pressed");
}

}
});

------解决方案--------------------
引用:
官方解释:
Indicates whether the view is currently in pressed state. Unless setPressed(boolean) is explicitly called, only clickable views can enter the pressed state.

只有可点击的View才有Press状态


final Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
if (btn.isPressed()) {
System.out.println("pressed");
}

}
});
+1  
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

官方解释:
Indicates whether the view is currently in pressed state. Unless setPressed(boolean) is explicitly called, only clickable views can enter the pressed state.

只有可点击的View才有Press状态


final Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
if (btn.isPressed()) {
System.out.println("pressed");
}

}
});
我也是这样调用的,但是还是发现点击button后,if里面的语句没有执行。不知道哪儿出错了

我这边试了是可以的啊,你是在Onclick里面调用的么
不是onclick里,代码如下:
view.setOnKeyListener(new View.OnKeyListener() {

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& view.canGoBack()) {
view.goBack();
return true;
}
// if (textButton.isPressed()) {
// view.reload();
// System.out.println("view.reload");
// }
}
return false;}


keyLitener并不会触发pressed
  相关解决方案