在尝试启用" UP导航时,我收到(AS)警告和空指针。在一项活动上。
: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setDisplayShowHomeEnabled(boolean)' on a null object reference
我尝试了两种不同的方法(Display Back Arrow on Toolbar Android)但没有成功。
我做错了什么?
public class ViewMyHistory extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_requests);
Toolbar appToolbar = (Toolbar) findViewById(R.id.mainToolbar);
setSupportActionBar(appToolbar);
//This gives errors
//getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//and so does this
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return true;
}
}
答案 0 :(得分:1)
您的代码没问题。唯一可能的问题是,您的布局文件Toolbar
中可能没有R.id.mainToolbar
ID R.layout.my_requests
。
如果您不想使用Toolbar
,请在AppTheme
中使用带有操作栏的appcompat主题作为styles.xml
(或您的活动正在使用的任何内容)的父主题例如Theme.AppCompat.Light.DarkActionBar
答案 1 :(得分:0)
您可以使用以下任一方法:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// OR
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);