1
如果我想跟蹤一個int值的一個活動/片段,是這種方法不正確:安卓:保持活動/片段狀態
在佈局XML,具有:
<TextView
android:id="@+id/int_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
在片段的onCreateView
或活動的onCreate
,有下面的代碼:
TextView intId = (TextView)getView().findViewById(R.id.int_id);
intId.setText(String.valueOf(<integer_value_to_keep_track_of>));
然後,每當我需要在後面的代碼使用int值,做後續訪問它ing:
int accessId = Integer.valueOf(((TextView)getView().findViewById(R.id.detail_column_id)).getText().toString());
東西告訴我,這不是保存狀態的最好方法。會宣佈一個班級成員(例如private int accessId
)並將其分配更好?謝謝!
如果我需要訪問''的外onCreateView intId' '?我只在用戶在片段中進行選擇時才訪問它。之前,我有'private int accessId'定義爲類成員,並已分配。雖然片段被中斷(例如收到電話),但我仍然發現這種方法存在問題。 –
您可以保存'Fragment'的狀態,然後在中斷後恢復。 – Emmanuel
所以你說的不是使用'TextView',而是定義一個類變量'private int accessId',分配它,並在稍後使用該值?在'FragmentActivity'中,實現'onSaveInstanceState'和'onRestoreInstanceState'? –