Следуя учебному пособию здесь: 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 настаивает на том, что у меня уже есть панель действий?
«установить windowActionBar в false в вашей теме, чтобы использовать панель инструментов вместо этого», вы попробовали это? –
@TimCastelijns Да, я пробовал это, и многие другие, похоже, являются важными функциями. Когда я устанавливаю windowActionBar в false, я получаю сообщение об ошибке «AppCompat не поддерживает текущие функции темы». Тот же парень из Android написал еще один вопрос о том, что AppCompat теперь гораздо более строг с функциями, которые он принимает. – dsb