如果我想跟踪活动/片段中的整数值,这种方法是否正确:
在布局 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
(并分配更好?谢谢!
,如果你在onCreateView()
里面,当你膨胀布局时,你只会得到一次View
的引用,这些是Fragment
View
层次结构的一部分。调用infalter.inflate()
时返回View
实例;层次结构的父级。您可以使用该View
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();
内部onCreateView();