0

我有一个问题......我想使用尚未创建的操作栏选择一个选项卡,我该如何创建它并单击它?我可以实例化它,然后呢?我不太明白我已经做了几次尝试:(提前谢谢你:)

java.lang.NullPointerException
at com.megadown.megacodownloader.Tab_Search$2.onClick(Tab_Search.java:215)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
4

1 回答 1

0

我不知道我是否理解您的问题,但如果您想TabBar在您的ActionBar(请阅读此链接以获取正确的库)中创建一个,则必须将以下代码添加到您的Activity

    // i use ActionBarSherlock library:
    // get an instance of your actionbar and set your navigation mode to tabbar
    mContext.getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    //create a tab and add it to your actionbar
    tabHome = mContext.getSupportActionBar().newTab();
    tabHome.setText(tabItemHome);
    tabHome.setTag(tabItemHome);
    tabHome.setTabListener(this); // TabListener
    mContext.getSupportActionBar().addTab(tabHome);

要检查单击了哪个选项卡,您必须实现一个TabListener(在我的代码示例中,活动实现了一个 tablistener)。您可以覆盖以下方法:

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
    // todo
}

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
    // todo
}

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
    // todo
}

如果您有更多问题,请告诉我。

于 2013-09-02T06:10:20.567 回答