我读过很多关于保存状态和片段的文章,但是我无法用头脑去理解它。
当用户登录时,我有一个片段被加载。然后,用户可以从各种类别中进行选择,这些类别将用一个新的类别替换当前的片段。在这个新的片段中,用户可以单击GridView中的项,这将导致检查出现。
当我按“后退”按钮时,我将如何保存单击的项?onSavedInstanceState从未被调用过,而且当我试图向后导航时,我的片段似乎又被重新创建了。
一些代码:
当用户第一次进入应用程序时
// creates the home fragment
Fragment homeFragment = new HomeFragment();
Fragme
我正在开发一个应用程序,在我的第一个活动中,我使用了一个表格布局和一个查看器。因此,当用户更改选项卡时,片段也会更改。但问题在第二个标签上。在该选项卡中,我使用“容器”,因此,当用户更改到该选项卡时,我添加一个fragmentOne,它有一个按钮,当我单击该按钮时,我用fragmentTwo替换片段。现在,在第二个片段中,我有一个文本视图,当我在文本视图中单击时,我想要更改为firstFragment。我认为问题在于两者都有一个onActivityCreated,并且都属于同一个活动。这是我的密码。
容器碎片:
public void onActivityCreated(Bundle save
我有3个片段,像片段A,片段B,片段C。最初片段A被加载,片段A添加了片段B,类似地,当我单击片段C中的backpress或任何臀部时,片段B再次添加了片段C.Now,它直接显示了片段A,为什么它没有显示片段B?我只想删除当前的片段c并显示片段b,但如何帮助我.here是我的代码。
//This is FragmentA and it adds FragmentB
fragmentManager = getSupportFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction()
我从第一个片段中调用第二个片段,并在它调用第二个片段时用2个片段膨胀布局,第一个片段的布局也出现在第二个片段布局后面的屏幕上。我只想在屏幕上显示第二布局。以下是代码
android.support.v4.app.FragmentManager fm = getFragmentManager();
facebookPictureShareFragment Picfragment = new facebookPictureShareFragment();
FragmentTransaction ft = fm.beginTransa
我想做以下几件事:
发射app -片段A装载
点击A-片段B加载按钮
点击B-片段A加载按钮
这是MainActivity中的一种方法:
private fun addBrowseBooksFragment() {
var browseBooksFragment = BrowseBooksFragment()
val fragmentManager = fragmentManager
val fragmentTransaction = fragmentManager.beginTransaction()
i
当我第一次选择选项卡片段时,地图就会完美地显示出来,但是如果我导航到其他选项卡并重新选择map片段选项卡,它会抛出这个错误--“二进制XML文件行#9:错误充气类片段”。我看过其他类似的线程,其中一些建议我的类应该扩展片段活动,我不想这样做。
这是我的MapActivity.java:
public class MapActivity extends Fragment implements ActionBar.TabListener{
private Fragment mFragment;
private GoogleMap map;
private View view;
@Overrid
在我的程序中,我有一些片段,我可以用下面的代码来替换每个片段。我的问题是:这些片段的加载能力很低,在单击每个片段之后,会从其中创建新的片段,并在单击片段后再次导致加载。如何保存片段内容或状态并防止重新加载?
@Override
public void onNavigationDrawerItemSelected(int position) {
Fragment fragment = null;
switch (position) {
case 0:
fragment = new InfoFragme