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 每个选项卡片段都有不同的活动_Android_Android Fragments - Fatal编程技术网

Android 每个选项卡片段都有不同的活动

Android 每个选项卡片段都有不同的活动,android,android-fragments,Android,Android Fragments,我有3个选项卡,我试图显示不同的活动,并布局每个选项卡。 我将这些选项卡用作我的应用程序导航,因此,当a发生更改时,整个布局和活动都需要更改 实际上,只有布局在改变 由于MainActivity.java+布局中包含PageAdapter(PageAdapter正在加载选项卡的内容), 我已将我的第一个页面活动从MainActivity.java移动到名为showUpdates.java的新java活动。现在我正试图将此活动作为我的选项卡1内容访问 如果您仍然不明白我的要求,以下内容将明确说明:

我有3个选项卡,我试图显示不同的活动,并布局每个选项卡。 我将这些选项卡用作我的应用程序导航,因此,当a发生更改时,整个布局和活动都需要更改

实际上,只有布局在改变

由于MainActivity.java+布局中包含PageAdapter(PageAdapter正在加载选项卡的内容), 我已将我的第一个页面活动从MainActivity.java移动到名为showUpdates.java的新java活动。现在我正试图将此活动作为我的选项卡1内容访问

如果您仍然不明白我的要求,以下内容将明确说明:

我的3个标签是:

Java:TabFragment1.Java,XML:activity\u show\u updates.XML

Java:TabFragment2.Java,XML:tab_fragment2.XML

Java:TabFragment3.Java,XML:tab\u fragment\u 3.XML

选项卡Fragment1.java:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        /**
         * Was trying:
         * Intent intent = new Intent(...)
         * startActivity(intent);
         */
        return inflater.inflate(R.layout.activity_show_updates, container, false);
    }
如您所见,它正在移动到一个新的布局,activity\u show\u updates.xml。

我想做的是-使用我的showUpdates.java作为选项卡\u片段\u 1的活动。

我一直在尝试使用Intent,但当我在TabFragement1.java创建它时,我的应用程序崩溃了


有人知道如何将showUpdates.java作为此布局的活动吗?

您不能嵌套活动。这其中有一些片段。只需为每个选项卡创建一个不同的片段,并使用一个活动来保存所有选项卡。如果需要,您还可以创建子片段(虽然支持不太好,您可能会遇到一些问题,但没有什么真正难以处理的问题)。

如果您的viewpager工作正常,您可以执行以下操作:

public static class MyAdapter extends FragmentPagerAdapter {
        public MyAdapter(FragmentManager fm) {
            super(fm);
        }
        @Override
        public int getCount() {
            return NUM_ITEMS;
        }

        @Override
        public Fragment getItem(int position) {
            if(position == 0){
                 //return first fragment
            }
           else if(position == 1){
                 //return second fragment
           }
...
    }
您可以在onCreateView中执行onCreate逻辑:

public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View yourFragment = inflater.inflate (Resource.Layout.fragment_name, container, false);
                ... //do stuff
              return yourFragment;
}

您只需定义要在适配器中输出的片段

是否确定每次翻页都需要新的活动?你可以用碎片来完成你需要的展示我可以用碎片来完成吗?我已经有了它们的java文件(如上所示),但是如何在片段java文件上实现代码作为活动(使用onCreate)?如何在我创建并如上所示的片段java文件上实现onCreate()和其他操作方法?在实现选项卡之前,我已经在MainActivity.onCreate()中更新了我的ListView,现在在哪里更新ListView?只需使用片段的onCreateView()方法。这几乎和在活动中一样。您可以在此处获得更好的信息: