Android:保留活动/片段状态

时间:2013-10-04 23:26:32

标签: android

如果我想跟踪活动/片段中的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值时,通过执行以下操作来访问它:

int accessId = Integer.valueOf(((TextView)getView().findViewById(R.id.detail_column_id)).getText().toString());
某事告诉我这不是保持国家的最好方法。宣布一个班级成员(例如private int accessId)并指定哪个更好?谢谢!

1 个答案:

答案 0 :(得分:0)

通常情况下,如果您在onCreateView()内,则只有一次View的{​​{1}} Fragment层次结构的View引用布局。当您致电infalter.inflate()时,会返回View个实例;层次结构的父级。您可以使用View的{​​{1}}来获取findViewById()的引用。

例如:

TextView

然后,一旦获得public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle SavedInstanceState) { // TODO Auto-generated method stub View view = (View) inflater.inflate(R.layout.me_layout, container,false); TextView intId = (TextView)view.findViewById(R.id.int_id); return view; } 引用,您就可以执行

TextView

String text = intId.getText().toString();