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

coffeeroy2 2014-06-13 05:08:07
我发现button里有一个方法叫impressed(),我测试了一下,当点击button时,都是调用的OnClickListener(),ispressed()并没有调用。那么这个方法是什么时候用的?我试过下面的代码:
if(button.ispressed()){
system.out.print("button,ispressed");
}
发现并没有打印,请问前辈这个方法是怎么调用的?
...全文
186 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
IcyFox 2014-06-16
  • 打赏
  • 举报
回复
引用 5 楼 u014274707 的回复:
[quote=引用 4 楼 huli870715 的回复:] [quote=引用 3 楼 u014274707 的回复:] [quote=引用 1 楼 huli870715 的回复:] 官方解释: 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里面的语句没有执行。不知道哪儿出错了[/quote] 我这边试了是可以的啊,你是在Onclick里面调用的么[/quote]不是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;}[/quote] keyLitener并不会触发pressed
coffeeroy2 2014-06-14
  • 打赏
  • 举报
回复
引用 4 楼 huli870715 的回复:
[quote=引用 3 楼 u014274707 的回复:] [quote=引用 1 楼 huli870715 的回复:] 官方解释: 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里面的语句没有执行。不知道哪儿出错了[/quote] 我这边试了是可以的啊,你是在Onclick里面调用的么[/quote]不是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;}
IcyFox 2014-06-13
  • 打赏
  • 举报
回复
引用 3 楼 u014274707 的回复:
[quote=引用 1 楼 huli870715 的回复:] 官方解释: 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里面的语句没有执行。不知道哪儿出错了[/quote] 我这边试了是可以的啊,你是在Onclick里面调用的么
coffeeroy2 2014-06-13
  • 打赏
  • 举报
回复
引用 1 楼 huli870715 的回复:
官方解释: 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里面的语句没有执行。不知道哪儿出错了
Mr-稻帅 2014-06-13
  • 打赏
  • 举报
回复
引用 1 楼 huli870715 的回复:
官方解释: 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
IcyFox 2014-06-13
  • 打赏
  • 举报
回复
官方解释: 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");
				}
				
			}
		});

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧