使用Android新片段更新片段

使用Android新片段更新片段,第1张

概述我有一个布局<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apkes/android"android:orientation="vertical"android:layout_width="fill_parent"a

我有一个布局

    <?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical"     androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" >    <linearLayout androID:ID="@+ID/linearLayout1" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_wIDth="wrap_content">        <linearLayout androID:ID="@+ID/linearLayout13" androID:layout_height="wrap_content" androID:paddingRight="70dp" androID:orIEntation="vertical" androID:paddingleft="70dp" androID:layout_wIDth="wrap_content">            <ImageVIEw androID:ID="@+ID/baby_icon" androID:layout_height="wrap_content" androID:src="@drawable/baby" androID:clickable="true" androID:layout_wIDth="wrap_content"></ImageVIEw>        </linearLayout>    </linearLayout>    <fragment        androID:name="com.nicu.health.FragAFragment"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:ID="@+ID/yellow_cardList_fragment"        androID:layout_weight="1"        >    </fragment></linearLayout>

在启动时,它确实显示了正确的片段(FragAFragment).现在,在按钮上单击baby_icon,我尝试删除当前片段并添加一个新的(FragBFragment),它具有完全不同的布局.

虽然我看到onCreateVIEw方法被调用但它确实返回了一个非空视图,但是新片段屏幕上的UI没有得到更新.我使用下面的代码来更新片段.

                        Fragment baby = FragBFragment.newInstance(1);                    FragmentTransaction ft = getFragmentManager().beginTransaction();//                  ft.remove(getFragmentManager().findFragmentByID(R.ID.yellow_cardList_fragment));//                  ft.add(R.ID.yellow_cardList_fragment, baby);                    ft.replace(R.ID.yellow_cardList_fragment, baby);                    ft.addToBackStack(null);                    Log.i(TAG, "Code for commit = "+ft.commit());

我曾尝试过删除,替换和添加的所有组合来获取片段的东西,但是徒劳无功!

我还尝试使用代码作为

<fragment    androID:name="com.nicu.health.FragBFragment"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:ID="@+ID/yellow_cardList_fragment"    androID:layout_weight="1"    >

这确实可以在启动时显示第二个片段!!!!

帮助将在reeally appreicated.

谢谢,

解决方法:

回答我的问题是

Android: can’t replace one fragment with another

我在主要活动的开始时添加了动态片段,并且onclick我做了一个ft.replace来替换旧片段!

总结

以上是内存溢出为你收集整理的使用Android新片段更新片段全部内容,希望文章能够帮你解决使用Android新片段更新片段所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存