-1
我有一个活动“QueryInput”,里面有textviews,可以用startActivityForResult调用另一个活动“QueryInputHistory”。StartActivityForResult - 问题
但是活动“QueryInput”的文本视图中的条目不会被保存(更精确的说,它们会在其他活动被调用之前被删除)。
我可以以某种方式防止这种情况吗?
我有一个活动“QueryInput”,里面有textviews,可以用startActivityForResult调用另一个活动“QueryInputHistory”。StartActivityForResult - 问题
但是活动“QueryInput”的文本视图中的条目不会被保存(更精确的说,它们会在其他活动被调用之前被删除)。
我可以以某种方式防止这种情况吗?
如果我理解,当用户从QueryInputHistory返回到QueryInput活动时,您希望textView中的条目而不是editText保留。具有有效资源ID的任何editText的文本状态都由Android操作系统自动保留,但是textView的文本状态不保证自动保留在软删除上。因此,任何非视图实例值和任何textView状态都需要以编程方式保存,可能在onSaveInstanceState或onRetainConfigurationState上进行软件杀死,并在OnStop或onDestroy上强制杀死(如果符合您的要求)。
一种解决办法可能是使用禁用EDITTEXT:
if (cbProhibitEditPW.isChecked()) { // disable editing password
editTextPassword.setFocusable(false);
editTextPassword.setFocusableInTouchMode(false); // user touches widget on phone with touch screen
editTextPassword.setClickable(false); // user navigates with wheel and selects widget
isProhibitEditPassword= true;
}
else { // enable editing of password
editTextPassword.setFocusable(true);
editTextPassword.setFocusableInTouchMode(true);
editTextPassword.setClickable(true);
isProhibitEditPassword= false;
}