问题描述
- android开发,监听事件不触发
-
登入界面在TextView中输入密码,触发TextView的监听事件(继承TextWatcher),当程序再次返回登入界面时,在TextView控件中输入内容,监听事件并不触发?
监听返回按钮的源代码:
public boolean onKeyDown(int keyCode,KeyEvent event){
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if(flag == 1){ //标记当前界面是在登入界面
if((System.currentTimeMillis()-exitTime) > 2000){Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
}
else{ //flag不等于1时,返回登入界面activity_main.xml,password为密码输入框TextView对象
setContentView(R.layout.activity_main);password.requestFocus(); //使当前控件获取焦点,控件添加监听事件已经在Oncreate中定义
flag = 1;
}
//return true;}
return true;
//return super.onKeyDown(keyCode, event);
}
解决方案
第一,代码这样贴太乱,截图为好;
第二,你断点调试keyCode == KeyEvent.KEYCODE_BACK 看看这code对不
解决方案二:
else{ //flag不等于1时,返回登入界面activity_main.xml,password为密码输入框TextView对象
setContentView(R.layout.activity_main);/这里重新布局了,需要重新对textview设置监听
password.requestFocus(); //使当前控件获取焦点,控件添加监听事件已经在Oncreate中定义
flag = 1;
}
解决方案三:
setContentView(R.layout.activity_main);
这样做法不好,独立为一个Fragment吧
时间: 2024-12-31 22:18:04