0

我在我的应用程序的第一个活动中使用带有一些操作栏按钮的AppCompatActivity

第二个活动我正在使用滑动标签

我的 theme.xml(主题 1)

<style name="CustomActionBarTheme" parent="Theme.AppCompat">

        <!-- theme customizations -->

        <item name="colorPrimary">@color/easy</item>
        <item name="colorAccent">@color/easy</item>


           <!-- Size Of Action bar-->
         <item name="actionBarSize">55dp</item>


    </style>

第一个活动工作正常。使用上述主题但是

我的滑动标签页中的错误

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.slidingtab}:
 java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. 
Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.

我的 theme.xml(主题 2)

<style name="CustomActionBarTheme" parent="Theme.AppCompat">

</style>

<style name="MyTheme.NoActionBar">
    <!-- Both of these are needed -->
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

如果我使用上述主题,滑动标签页工作正常,但我的第一个活动显示 NPE。

问题:

1.我想要第一个活动的自定义主题,

2.我也需要在第二个活动中滑动标签

如何解决这个问题请帮助我。

编辑:1

添加了 Oncreate 方法

我的滑动标签 Oncreate

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.find_stores_0_tabview__landing);

        // for ActionBar back button
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);


        // Initilization

        // Creating The Toolbar and setting it as the Toolbar for the activity

        toolbar = (Toolbar) findViewById(R.id.tool_bar);
        setSupportActionBar(toolbar);

        // Creating The ViewPagerAdapter and Passing Fragment Manager, Titles
        // fot the Tabs and Number Of Tabs.
        adapter = new ViewPagerAdapter(getSupportFragmentManager(), Titles,Numboftabs);

        // Assigning ViewPager View and setting the adapter
        pager = (ViewPager) findViewById(R.id.pager);
        pager.setAdapter(adapter);

        // Assiging the Sliding Tab Layout View
        tabs = (SlidingTabLayout) findViewById(R.id.tabs);
        tabs.setDistributeEvenly(true); // To make the Tabs Fixed set this true,
                                        // This makes the tabs Space Evenly in
                                        // Available width

        // Setting Custom Color for the Scroll bar indicator of the Tab View
        tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
            @Override
            public int getIndicatorColor(int position) {
                return getResources().getColor(R.color.tabsScrollColor);
            }
        });

        // Setting the ViewPager For the SlidingTabsLayout
        tabs.setViewPager(pager);



        // End OF OnCreate

    }
4

1 回答 1

1

我建议你为他们定义不同的主题。

而且我认为问题不是由 Sliding TAB 引起的,请再次检查您的代码。

你的第一个活动主题:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>

你的第二个活动主题:

<style name="AppTheme2" parent="Theme.AppCompat.Light">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>

在你的 AndroidManifest.xml

<activity android:name=".first Activity" android:theme="@style/AppTheme"/>
<activity android:name=".second Activity" android:theme="@style/AppTheme2"/>
于 2015-07-10T08:16:16.477 回答