2011-05-06 46 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; 
      }