2015-05-07 162 views
-3
import android.app.ActionBar; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 


public class MainActivity extends ActionBarActivity { 

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

    ActionBar.setDisplayShowHomeEnabled(false); 
    ActionBar.setDisplayShowTitleEnabled(false); 
    ActionBar.setCustomView(R.layout.custom_action_bar); 
    ActionBar.setDisplayShowCustomEnabled(true); 

    setContentView(R.layout.main); 
    } 
} 

四行包括動作條表示錯誤類型setDisplayShowHomeEnabled(布爾值):不能使靜態參考setDisplayShowHomeEnabled(布爾值)的非靜態方法從類型ActionBar。請幫助。無法使靜態參考非靜態方法從動作條

+0

您所調用的所有ActionBar方法都是_non-static_,這意味着您需要有一個ActionBar實例來調用它們。如果您使用類名稱調用它們,則不具有該類的實例。正如其他人所提到的那樣,您可以使用'getSupportActionBar()'獲取該類的實例,並在其上運行命令。 –

回答

3

在全部四行中將ActionBar替換爲getSupportActionBar()

0

所以移動super.onCreate(savedInstanceState);

setContentView(R.layout.main);後您而且,你不應該直接做這樣的,

ActionBar.setDisplayShowHomeEnabled(false); 

它應該是,

ActionBar actionBar = getSupportActionBar(); 

actionBar.setDisplayShowHomeEnabled(false); 
actionBar.setDisplayShowTitleEnabled(false); 
actionBar.setCustomView(R.layout.custom_action_bar); 
actionBar.setDisplayShowCustomEnabled(true); 

,通過總結你的總碼應是,

public class MainActivity extends ActionBarActivity { 

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

    ActionBar actionBar = getSupportActionBar(); 

    actionBar.setDisplayShowHomeEnabled(false); 
    actionBar.setDisplayShowTitleEnabled(false); 
    actionBar.setCustomView(R.layout.custom_action_bar); 
    actionBar.setDisplayShowCustomEnabled(true); 

    } 
} 
相關問題