代码之家  ›  专栏  ›  技术社区  ›  Wai Yan Hein

无法使用ActionBarActivity在操作栏中创建选项卡

  •  0
  • Wai Yan Hein  · 技术社区  · 9 年前

    我是Android的绝对初学者。我将创建带有选项卡的动作栏。但我的Android SDK版本太低了。所以我尝试使用使用ActionBarActivity创建带有选项卡的动作栏的旧方法。我也想知道新老方法。现在我这样做了。

    我的活动课

    public class MainActivity extends ActionBarActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ActionBar bar = getSupportActionBar();
    
            bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    
            for(int i = 1;i<=3;i++){
                ActionBar.Tab tab = bar.newTab();
                tab.setText("Tab" + i);
                bar.addTab(tab);
            }
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.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.
            int id = item.getItemId();
    
            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }
    
            return super.onOptionsItemSelected(item);
        }
    }
    

    样式.xml

    <resources>
    
        <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <!-- Customize your theme here. -->
        </style>
    
    </resources>
    

    但当我运行我的应用程序时。这是投掷错误。我的代码有什么问题?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Community CDub    7 年前

    请勿使用 ActionBarActivity 因为它已被弃用。

    您正在使用:

    Theme.AppCompat.Light.DarkActionBar
    

    具有: 操作栏活动

    将其更改为 AppCompatActivity 在java代码中( Activity ).

    这应该可以解决问题。当然,如果你使用 AppCompat :

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

    类似问题:

    Android getActionBar vs getSupportActionBar?