【问题标题】:How to add fragment with in tab如何在选项卡中添加片段
【发布时间】:2014-07-10 11:26:08
【问题描述】:

公共类 TabFragment 扩展片段 {

private TabHost mTabHost;
View rootView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    rootView = inflater.inflate(R.layout.tabinterview, container, false);
    mTabHost = (TabHost) rootView.findViewById(R.id.tabhost);
    mTabHost.setup();
    TabHost.TabSpec spec = mTabHost.newTabSpec("tag");
    spec.setIndicator("Android");
    spec.setContent(new TabHost.TabContentFactory() {

        @Override
        public View createTabContent(String tag) {
            // TODO Auto-generated method stub
            return (new QuestionFragment().getView());
        }
    });
    mTabHost.addTab(spec);

    return rootView;
}

}

在上面的代码中我创建了选项卡,在选项卡中我必须添加相应的片段 我有结帐选项卡显示在片段中,但是当我尝试添加选项卡问题片段的设置内容时,出现以下错误

07-10 11:00:26.030: E/AndroidRuntime(1025): FATAL EXCEPTION: main
07-10 11:00:26.030: E/AndroidRuntime(1025): java.lang.NullPointerException
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.widget.TabHost$FactoryContentStrategy.getContentView(TabHost.java:720)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.widget.TabHost.setCurrentTab(TabHost.java:413)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:154)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.view.View.performClick(View.java:4204)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.view.View$PerformClick.run(View.java:17355)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.os.Handler.handleCallback(Handler.java:725)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.os.Looper.loop(Looper.java:137)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at android.app.ActivityThread.main(ActivityThread.java:5041)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at java.lang.reflect.Method.invokeNative(Native Method)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at java.lang.reflect.Method.invoke(Method.java:511)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-10 11:00:26.030: E/AndroidRuntime(1025):     at dalvik.system.NativeStart.main(Native Method)

请帮我在标签中添加片段或建议我任何其他逻辑

我们将非常感谢您的及时回复

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    我认为您正在寻找这样的标签栏概念。

    为此,您可以使用以下链接。

    https://github.com/JakeWharton/Android-ViewPagerIndicator

    易于实施。
    http://thorbek.net/online/2013/09/01/sliding-windows-with-tab-bar-in-android-activity/

    http://blog.stylingandroid.com/archives/537

    以下链接用于查看页面指示器
    http://viewpagerindicator.com/

    【讨论】:

    • 实际上在我的项目中,我使用了带有滑动菜单的单个活动,因为我有多个选项,如果您选择任何一个选项,其各自的片段将显示在相同的活动中,上面的代码是我的一个将打开的片段,它是标签样式片段,我想再次将片段添加为标签的内容。
    • 真的。为此,您必须在每个页面中使用带有指示器的片段。上面的链接为您提供带有指示器的 viewpager 示例。
    • @Nawaf 我认为您需要考虑其他事情。片段中的选项卡不是一个好的设计。如果您仍然希望使用选项卡,请在单击侧菜单的项目上调用另一个活动,然后在处理视图页面时调用。 ViewPager 本身包含片段,因此片段中的 ViewPager 以及该视图页面中的多个片段就像一个恐怖故事!
    • 我们可以在 activty 中动态加载 ViewPager
    • @BhaveshJethani 我们可以像在活动中的片段一样加载 viewpager
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多