片段方向更改时处理textview状态

时间:2014-03-06 07:59:39

标签: android android-fragments

我的片段布局中有一个带有默认可见性state =“GONE”的textview; 在我的片段类中,我将一些信息添加到textview并显示它。我的片段为cursorLoader保存了setretaininstance = true。 但是当我的方向改变时,我的文本视图总是隐藏。我认为是因为:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    view = inflater.inflate(R.layout.fragment, null);
    tvNowUsedFiltres = (TextView) view.findViewById(R.id.tvTextView);

它将状态改为“消失”。但我无法保存我的实例状态,因为bundle总是返回null并且setretaininstance = true。 如何保存文本视图状态?

1 个答案:

答案 0 :(得分:1)

setRetainInstance()不适用于窗口小部件,因为窗口小部件连接到活动(而不是片段)。

因此,您需要做的就是在Fragment类中放置一个成员布尔值,在onCreateView()中,您在获取后重置该textview的visibility参数:

tvNowUsedFiltres = (TextView) view.findViewById(R.id.tvTextView);

if (myNewBoolean) {
    tvNowUsedFiltres.setVisibility(View.VISIBLE);
}