当按下后退按钮时,如何刷新片段的视图?
我已经在片段的onResume方法中尝试了这个但是它不起作用.
好的,这是代码
布局看起来像:
<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"xmlns:tools="http://schemas.androID.com/tools"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:orIEntation="horizontal"androID:background="@color/mainscreen_bg"><fragment androID:ID="@+ID/topbar" androID:name="de.app.applib.topbarFragment" androID:layout_wIDth="match_parent" androID:layout_height="@dimen/topbar_height" androID:layout_alignParenttop="true" tools:layout="@layout/fragment_topbar" /> <fragment androID:ID="@+ID/position_List" androID:name="de.app.applib.CriteriaListFragment" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:layout_alignParentBottom="true" androID:layout_alignParentleft="true" androID:layout_alignParentRight="true" androID:layout_below="@ID/topbar" androID:tag="CriteriaList" tools:layout="@layout/fragment_criteriaList" />
topbarFragment具有以下布局:
<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:background="@drawable/topbar_bg" ><ImageVIEw androID:ID="@+ID/topbar_home" androID:layout_height="match_parent" androID:layout_wIDth="wrap_content" androID:layout_alignParentleft="true" androID:gravity="center_vertical" androID:src="@drawable/ic_ab_back_holo_light" androID:visibility="invisible" androID:padding="0dp" androID:contentDescription="@string/none" androID:layout_margin="0dp"/><ImageVIEw androID:ID="@+ID/topbar_logo" androID:src="@drawable/actionbar_logo" androID:layout_height="30dp" androID:layout_wIDth="120dp" androID:layout_centerVertical="true" androID:padding="0dp" androID:layout_margin="0dp" androID:contentDescription="@string/none" androID:layout_toRightOf="@ID/topbar_home"/><Togglebutton androID:ID="@+ID/topbar_btn_push_abo" androID:layout_wIDth="40dp" androID:layout_height="match_parent" androID:layout_alignBottom="@+ID/topbar_btn_info" androID:layout_toleftOf="@ID/topbar_btn_info" androID:background="@drawable/topbar_btn_push_bg" androID:paddingtop="@dimen/padding_topbar_btn_push" androID:textOff="" androID:textOn="" androID:textSize="12sp" />
在片段的onCreateVIEw()中,我设置了togglebutton的textOn和textOff值.
此片段包含在所有活动中.
现在,我想在用户按下后退按钮时更新togglebutton的文本.
我在片段的onResume()方法中设置了新文本.调用此方法但旧文本显示在活动中,而不是新更新的文本.
@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { Log.d(TAG,"onCreateVIEw called"); VIEw v = inflater.inflate(ResourceUtils.getCustomizableLayoutID(getActivity(), "fragment_topbar"), container, false); subscrbutton = (Togglebutton) v.findVIEwByID(R.ID.topbar_btn_push_abo); setCountOfNewAdds(); private voID setCountOfNewAdds() { int countOfNewAds = ((App)getActivity().getApplication()).getCountOfNewAds(); subscrbutton.setTextOff(countOfNewAds>0?""+countOfNewAds:""); subscrbutton.setTextOn(countOfNewAds>0?""+countOfNewAds:""); subscrbutton.invalIDate();} @OverrIDepublic voID onResume() { super.onResume(); setCountOfNewAdds();}
解决方法:
如果你的片段调用replace(),而不是add()方法切换到另一个片段(SecondFragment),当按下SecondFragment中的后退按钮时,你的片段将再次调用onCreateVIEw()方法
总结以上是内存溢出为你收集整理的android – 片段在按下后退按钮时不刷新全部内容,希望文章能够帮你解决android – 片段在按下后退按钮时不刷新所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)