Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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
Android 如何将嵌套片段与getChildFragmentManager()一起使用?_Android_Android Fragments_Android Viewpager_Android Scrollview_Android Nested Fragment - Fatal编程技术网

Android 如何将嵌套片段与getChildFragmentManager()一起使用?

Android 如何将嵌套片段与getChildFragmentManager()一起使用?,android,android-fragments,android-viewpager,android-scrollview,android-nested-fragment,Android,Android Fragments,Android Viewpager,Android Scrollview,Android Nested Fragment,编辑:嘿,伙计们,我删除了所有内容,因为我终于找到了问题的答案(基本上是如何在片段中使用ViewPager中的滚动视图)。这是我所有的代码。我是一个彻头彻尾的傻瓜,所以我不太明白我的代码中到底发生了什么,但这里是: 这是我的寻呼机适配器,可以让片段进入ViewPager(我想这就是发生的情况)我从网上从 导入android.app.Fragment; 导入android.app.FragmentManager; 导入android.support.v13.app.FragmentPagerAd

编辑:嘿,伙计们,我删除了所有内容,因为我终于找到了问题的答案(基本上是如何在片段中使用ViewPager中的滚动视图)。这是我所有的代码。我是一个彻头彻尾的傻瓜,所以我不太明白我的代码中到底发生了什么,但这里是:

这是我的寻呼机适配器,可以让片段进入ViewPager(我想这就是发生的情况)我从网上从

导入android.app.Fragment;
导入android.app.FragmentManager;
导入android.support.v13.app.FragmentPagerAdapter;
导入java.util.List;
公共类PagerAdapter扩展了FragmentPagerAdapter{
私有列表片段;
公共页面编辑器(FragmentManager fm,列表fragments){
超级(fm);
this.fragments=片段;
}
@凌驾
公共片段getItem(int i){
返回碎片。获取(i);
}
@凌驾
public int getCount(){
返回fragments.size();
}
}
您在片段中定义的OnClick方法(toFirst,toSecond)需要在活动(可能是主活动)中定义。

您在片段中定义的OnClick方法(toFirst,toSecond)需要在活动(可能是主活动)中定义。

更改这些方法

public void toFirst(){
        FragmentTransaction ft = getChildFragmentManager().beginTransaction();
        Fragment1Page1 fragment = new Fragment1Page1();
        ft.replace(R.id.contentLayoutFragment1Page1, fragment);
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        ft.addToBackStack(null);
        ft.commit();
    }
    public void toSecond(){
        FragmentTransaction ft = getChildFragmentManager().beginTransaction();
        Fragment1Page2 fragment = new Fragment1Page2();
        ft.replace(R.id.contentLayoutFragment1Page2, fragment);
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        ft.addToBackStack(null);
        ft.commit();
    }

当您在xml中提供此方法时,这将把视图目标传递给这些方法,因为代码中缺少此方法,所以您会得到错误,正如logcat所说的更改这些方法

public void toFirst(){
        FragmentTransaction ft = getChildFragmentManager().beginTransaction();
        Fragment1Page1 fragment = new Fragment1Page1();
        ft.replace(R.id.contentLayoutFragment1Page1, fragment);
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        ft.addToBackStack(null);
        ft.commit();
    }
    public void toSecond(){
        FragmentTransaction ft = getChildFragmentManager().beginTransaction();
        Fragment1Page2 fragment = new Fragment1Page2();
        ft.replace(R.id.contentLayoutFragment1Page2, fragment);
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        ft.addToBackStack(null);
        ft.commit();
    }


当您在xml中提供这些方法时,这将把视图目标传递给这些方法,因为代码中缺少它,所以您会得到错误,正如logcat所说的logcat@sasikumar你好什么是logcat?我在哪里可以找到它?在android studio左下角单击android监视器,然后您可以看到logcat@sasikumar谢谢我刚把它贴在你的邮箱里logcat@sasikumar你好什么是logcat?我在哪里可以找到它?在android studio左下角单击android监视器,然后您可以看到logcat@sasikumar谢谢,我刚刚发布了itHello不幸的是,这不起作用。这是logcat致命异常中所说的:主进程:com.harrison.recipetest2,PID:7718 java.lang.IllegalStateException:找不到方法toFirst(视图)在android的父或祖先上下文中:在android.support.v7.widget.AppCompativeButton的android.support.v7.app.AppCompativeInflater$DeclaredOnClickListener.resolveMethod(AppCompativeInflater.java:327)的android.support.v7.appCompativeInflater$DeclaredOnClickListener.onClick的视图类中定义onClick属性(AppCompatViewInflater.java:284)你能更新你所写的片段类的最终代码吗?很遗憾,这不起作用。这是logcat致命异常中所说的:主进程:com.harrison.recipetest2,PID:7718 java.lang.IllegalStateException:找不到方法toFirst(视图)在android的父或祖先上下文中:在android.support.v7.widget.AppCompativeButton的android.support.v7.app.AppCompativeInflater$DeclaredOnClickListener.resolveMethod(AppCompativeInflater.java:327)的android.support.v7.appCompativeInflater$DeclaredOnClickListener.onClick的视图类中定义onClick属性(AppCompativeViewInflater.java:284)您能更新您所编写的片段类的最终代码吗