Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击recyclerview项后不显示片段_Java_Android_Android Fragments_Android Viewpager - Fatal编程技术网

Java 单击recyclerview项后不显示片段

Java 单击recyclerview项后不显示片段,java,android,android-fragments,android-viewpager,Java,Android,Android Fragments,Android Viewpager,我在活动中有一个ViewPager。一切按计划进行 这在活动的onCreate(Bundle savedInstanceState)中 myPagerAdapter = new MyPagerAdapter(getSupportFragmentManager()); viewPager = (ViewPager) findViewById(R.id.viewpager); viewPager.setAdapter(myPagerAdapter); 我有一个片段包含列出一些项目的Recycler

我在活动中有一个ViewPager。一切按计划进行

这在活动的
onCreate(Bundle savedInstanceState)

myPagerAdapter = new MyPagerAdapter(getSupportFragmentManager());
viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setAdapter(myPagerAdapter);
我有一个片段包含列出一些项目的RecyclerView。下面是应该发生的事情: 当我点击一个项目时,它应该显示DetailsFragment。 这是当用户点击某个项目时我的代码:

FragmentTransaction ft = activity.getSupportFragmentManager().beginTransaction();
Fragment indi=DetailsFragment.newInstance();
ft.add(R.id.(Fragment Container ID), indi);
ft.show(indi).commit();
我试过这个:

FragmentTransaction ft = activity.getSupportFragmentManager().beginTransaction();
Fragment indi=DetailsFragment.newInstance();
ft.replace(R.id.(Activity Container ID), indi);
ft.show(indi).commit();
这是:

FragmentTransaction ft = activity.getSupportFragmentManager().beginTransaction();
Fragment indi=DetailsFragment.newInstance();
ft.replce(R.id.(Container Fragment ID), indi);
ft.show(indi).commit();
Android将创建该片段,因为我在DetailsFragment中的
onResume()
方法中设置了一个日志,但它没有显示 我所有的尝试都给了我相同的结果——片段被创建了,但什么也没有显示。 并且没有错误日志

请尝试以下操作:

FragmentTransaction ft = activity.getSupportFragmentManager().beginTransaction();
Fragment indi=DetailsFragment.newInstance();
ft.replace(R.id.container, indi);
ft.commit();
R.id.container
是要删除的布局的资源id,以便将
DetailsFragment
放置到位时。您可以在main_activity.xml(或您参与的任何其他活动)中使用一个简单的
FrameLayout


//你可以把其他东西放在这里

请用ID(容器片段ID、活动容器ID、片段容器ID)显示布局xml。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    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="vertical"
    tools:context=".activities.MainActivity">

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
        // you can put anything else here

</LinearLayout>