2011-05-06 58 views
-1

我有一个活动“QueryInput”,里面有textviews,可以用startActivityForResult调用另一个活动“QueryInputHistory”。StartActivityForResult - 问题

但是活动“QueryInput”的文本视图中的条目不会被保存(更精确的说,它们会在其他活动被调用之前被删除)。

我可以以某种方式防止这种情况吗?

回答

0

如果我理解,当用户从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; 
      }