我有一個包含2個片段的活動。片段A具有用作搜索字段的TextViews。片段B顯示基於搜索的結果。片段中的TextView值未被清除
我在我的操作欄中有按鈕來清除搜索字段。此按鈕用於該活動,並可從兩個片段中單擊。
這是爲動作按鈕的代碼:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//Delete
if (id == R.id.action_delete) {
if (fragmentA != null) {
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
fragmentA.clearAll();
}
}
return super.onOptionsItemSelected(item);
}
與上面的代碼,我返回到第一片段(它不添加到返回堆棧)。但是文字瀏覽不會被清除。
clearAll
方法被正確調用,因爲我也清除自定義對象的屬性。然而,文章中的文字留在那裏。我必須再次單擊該按鈕(顯示片段A時),以便清除文本。
這是方法:
public void clearAll() {
searchClass.name = "";
searchClass.surname = "";
tvName.setText(null);
tvSurname.setText(null);
}
我設置null
而不是「」,這樣的提示應該再次顯示。
我錯過了什麼?難道是片段沒有顯示,所以它的視圖仍然不可用?
使用 「」,而不是空 –
@AnandSavjani我之前了。它也不起作用。 –
在onResume()方法中使用clearAll方法 –