getSupportActionBar崩溃我的应用程序

时间:2014-08-16 11:08:46

标签: android android-actionbar

我正在尝试在我的应用程序中使用操作栏,但是getSupportActionBar会崩溃我的应用程序。

这是有效的,但我不知道我做了什么让它崩溃(我删除了所有内容并再次尝试,它一直在崩溃)。

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;

public class MainMenu extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ActionBar actionbar = getSupportActionBar();
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main_menu);
        LinearLayout v = (LinearLayout) findViewById(R.id.layout);
        v.setBackgroundColor(0xffECECEC);


    }

    /*
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.actionbar, menu);
        return true;
    }
    */
    public void play(View view){
        Intent intent = new Intent(MainMenu.this, Levels.class);
        startActivity(intent);
    }


}

2 个答案:

答案 0 :(得分:1)

如果您只想要操作栏,则可以调整以下代码。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_menu);
    ActionBar actionbar = getSupportActionBar();
    LinearLayout v = (LinearLayout) findViewById(R.id.layout);
    v.setBackgroundColor(0xffECECEC);


}

我们不应该在setContentView()方法之前编写动作栏代码。

如果您想要全屏,那么您的活动中就不会使用actionBar。

答案 1 :(得分:-1)

当我直接使用getSupportActionBar()方法时,我的应用程序崩溃而不是我正在使用  ActionBar actionbar = getSupportActionBar(); 那么你可以在动作栏上执行和执行任何操作,如actionbar.show(),actionbar.hide()和其他操作。