【发布时间】:2015-04-16 01:08:12
【问题描述】:
在用户按下设备上的返回按钮后,我希望测试 EditText 的内容。
如果 EditText 没有内容(用户从未输入任何内容,或者他们输入了一些输入,然后通过退格将其全部删除),则返回上一个活动(屏幕)。
否则,EditText 有内容,因此触发 alertDialog 以查看他们是否要“放弃” EditText 输入并返回上一个活动(屏幕),
或“取消”AlertDialog 以返回到 EditText 并更改/添加到现有输入。
我的后退按钮代码可以很好地返回到上一个活动(下面的部分列表):
public boolean onKeyPreIme ( int keyCode, @NonNull KeyEvent event){
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// the key has been pressed down
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
我正在寻求有关如何将该代码与 EditText 内容测试的 if/then 逻辑链接的帮助。我开始了:
final EditText todoEditText = (EditText) findViewById(R.id.CEditText);
int sTodo = todoEditText.getText().toString().trim().length();
if (sTodo == 0) {
run code to hide the keyboard and go to the previous activity
}
else {
run code to show the alertDialog
}
【问题讨论】:
标签: android android-edittext back keyevent