2015-10-21 4 views
0

Следуя учебному пособию здесь: http://www.android4devs.com/2015/01/how-to-make-material-design-sliding-tabs.html# пытаясь выполнить вкладку материалов, скользящие язычки. Я делал все, как указано.Почему андроид настаивает на том, что у меня уже есть панель действий?

Однако, когда я запустить приложение он дал мне следующее сообщение:

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. 

Я пытался решить эту проблему и пытались многие вещи, не имели успеха.

В конце концов я пришел к этому вопросу stackoverflow.com/questions/29790070/upgraded-to-appcompat-v22-1-0-and-now-getting-illegalargumentexception-appcompa и принял предложенное предложение.

я изменил свое styles.xml следующим образом:

<style name="AppBaseTheme" parent="Theme.AppCompat.NoActionBar"> 
</style> 

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 

</style> 

Тем не менее, он по-прежнему дает мне такое же сообщение об ошибке.

Только ради завершения, вот моя активность:

public class MainActivity extends AppCompatActivity { 

    private ViewPager mViewPager; 
    private HomeTabsPagerAdapter mPageAdapter; 

    private Toolbar mToolbar; 
    private SlidingTabLayout mTabs; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

       setContentView(R.layout.activity_main); 

       setViewsClassMembers(); 

       setSupportActionBar(mToolbar); 
       mPageAdapter = new HomeTabsPagerAdapter(getSupportFragmentManager()); 

       mViewPager.setAdapter(mPageAdapter); 
       // Assiging the Sliding Tab Layout View 
       mTabs.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 
       mTabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() { 
        @Override 
        public int getIndicatorColor(int position) { 
         return getResources().getColor(R.color.tabsScrollColor); 
        } 
       }); 

       // Setting the ViewPager For the SlidingTabsLayout 
       mTabs.setViewPager(mViewPager); 

    } 


    private void setViewsClassMembers() { 
     mViewPager = (ViewPager) findViewById(R.id.pager); 
     mToolbar = (Toolbar) findViewById(R.id.tool_bar); 
     mTabs = (SlidingTabLayout) findViewById(R.id.tabs); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     switch (item.getItemId()) { 
     case R.id.action_new_request: 
      startNewRequestActivity(); 
      break; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

    private void startNewRequestActivity() { 
     Intent intent = new Intent(this, NewRequestActivity.class); 
     startActivity(intent); 
    } 

} 

Может кто-нибудь увидеть, где проблема? почему Android настаивает на том, что у меня уже есть панель действий?

+0

«установить windowActionBar в false в вашей теме, чтобы использовать панель инструментов вместо этого», вы попробовали это? –

+0

@TimCastelijns Да, я пробовал это, и многие другие, похоже, являются важными функциями. Когда я устанавливаю windowActionBar в false, я получаю сообщение об ошибке «AppCompat не поддерживает текущие функции темы». Тот же парень из Android написал еще один вопрос о том, что AppCompat теперь гораздо более строг с функциями, которые он принимает. – dsb

ответ

0

Посмотри: https://stackoverflow.com/a/26515159

<item name="windowActionBar">false</item> 

внутри styles.xml.

+0

Спасибо. Я попробовал это и многие другие функции. Когда я добавляю эту строку в styles.xml, я получаю «AppCompat не поддерживает текущие функции темы». – dsb

 Смежные вопросы

  • Нет связанных вопросов^_^