gpt4 book ai didi

java - actionBar.setDisplayHomeAsUpEnabled(true) 出现空指针异常;

转载 作者:行者123 更新时间:2023-12-01 11:47:59 26 4
gpt4 key购买 nike

应用程序不断崩溃。它说在actionBar.setDisplayHomeAsUpEnabled(true);处有一个空指针异常。我检查了我的代码,有一个后退按钮。它被定义并返回到主 map Activity 。在 onOptionsItemSelected(MenuItem menu) 中,我为后退按钮放置了外壳。我不知道为什么它给我一个错误。

public class AddressList extends ActionBarActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_address_list);
// get action bar
ActionBar actionBar = getActionBar();

// Enabling Up / Back navigation
actionBar.setDisplayHomeAsUpEnabled(true);
ListView listview = (ListView) findViewById(R.id.listView);

}


@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_address_list, 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();
switch (item.getItemId()) {
case R.id.button:
Add();
return true;
case R.id.back:
Back();
return true;
}


//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}

private void Back(){
Button button = (Button) findViewById(R.id.back);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {

Intent intent = new Intent(AddressList.this, MapsActivity.class);
startActivity(intent);
finish();
}
});

}
private void Add() {
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {

Intent intent = new Intent(AddressList.this, SilentGeofence.class);
startActivity(intent);
finish();
}
});
}
}

这是我的 menu.xml 文件,您可以看到我有一个后退按钮。

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.anusha.app.AddressList">
<item android:id="@+id/action_settings" android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never" />

<item android:id="@id/button"
android:title="+"
app:showAsAction="ifRoom">

<item android:id="@+id/back"
android:title="List"
app:showAsAction="ifRoom" />
</item>

</menu>

最佳答案

改变

ActionBar actionBar = getActionBar();

ActionBar actionBar = getSupportActionBar();


进行此更改的原因是:您的 activty 是从 ActionBarActivity 扩展的,这意味着您正在使用支持库中的 ActionBar,因此您必须使用 getSupportActionBar( )

关于java - actionBar.setDisplayHomeAsUpEnabled(true) 出现空指针异常;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29002721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com