Android 替换视图寻呼机中的片段

Android 替换视图寻呼机中的片段,android,android-viewpager,Android,Android Viewpager,我试图找到一个解决方案,但海报没有解释什么是R.id.products\u list\u linear。我尝试将R.id.products\u list\u linear设置为我要替换的片段的linearlayout的id。但那只是将两个碎片重叠在一起。我非常确定我需要在viewpager中获取容器的id,但我不知道如何获取此id 编辑: 为了澄清这一点,我试图用另一个片段替换视图寻呼机中的片段,我的代码看起来几乎与我发布的答案完全相同,但当我将R.id.products\u list\u线性化

我试图找到一个解决方案,但海报没有解释什么是R.id.products\u list\u linear。我尝试将R.id.products\u list\u linear设置为我要替换的片段的linearlayout的id。但那只是将两个碎片重叠在一起。我非常确定我需要在viewpager中获取容器的id,但我不知道如何获取此id

编辑:
为了澄清这一点,我试图用另一个片段替换视图寻呼机中的片段,我的代码看起来几乎与我发布的答案完全相同,但当我将R.id.products\u list\u线性化时,我试图替换片段的布局。我正在替换的片段刚好覆盖在我试图替换的片段上

在视图页面中替换片段

尝试此自定义的ViewPager适配器

import java.util.List;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.view.ViewGroup;

public class ViewPagerAdapter extends FragmentStatePagerAdapter {
    private List<Fragment> fragments=null;
private FragmentManager fragmentManager=null;

public ViewPagerAdapter(FragmentManager fragmentManager,List<Fragment> fragments) {
    super(fragmentManager);
    this.fragments=fragments;
    this.fragmentManager=fragmentManager;
}
@Override
public Fragment getItem(int position) {
    return fragments.get(position);
}
@Override
public int getCount() {
    return fragments.size();
}
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object)
{
    super.setPrimaryItem(container,0,object);
}
@Override
public void notifyDataSetChanged()
{
    super.notifyDataSetChanged();
}
@Override
public void destroyItem(ViewGroup collection, int position, Object view) {
    fragmentManager.executePendingTransactions();
    fragmentManager.saveFragmentInstanceState(fragments.get(position));
}
public void replaceItem(int position,Fragment fragment)
{
    fragments.set(position, fragment);
    this.notifyDataSetChanged();
}
}

我最终选择了另一种对我来说效果很好的方法。我在viewpager中使用了一个ViewSwitcher

你试图在你的浏览页面中“切换”片段,对吗?另外,你的问题有点模糊。如果您提供更多的上下文、收到的任何错误/特定问题,甚至可能提供一些适用的代码,您将得到更好的答案。:)这如何帮助我替换viewpager中的片段?你能告诉我怎么做吗?已尝试使用fragments.set(0,Fragment.instantiate(this,ReplacementFragment.class.getName());adapter.notifyDataSetChanged();我已经编辑了包含viewpager适配器的代码,效果很好。所以,请检查此项,并回答必须。谢谢你的努力。。。
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, Fragment1.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment2.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment3.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment4.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment5.class.getName()));
mPagerAdapter=new ViewPagerAdapter(getFragmentManager(), fragments);
mPagerAdapter.replaceItem(2,Fragment.instantiate(this, Fragment5.class.getName()));