我有一个流向MainActivity - > StoriesActivity - > StoryBodyActivity。后退按钮会抛出NullPointerException
使用Intents将每个变量传递给下一个。
我试图从StoryBodyActivity实现一个返回按钮到StoriesActivity,但它在StoryActivity的authorID = extras.getInt("author_id");
上抛出一个NullPointerException。
我知道什么是NullPointer。我只是不知道如何解决这个问题!难道是因为它不再能够访问从MainActivity传递的数据吗?
注意:单击设备上的后退按钮时,此功能正常工作,而不是ActionBar上的图标。
片段从StoryBodyActivity:
从StoriesActivity@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_story_body);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
段:
private int authorID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_stories);
Bundle extras = getIntent().getExtras();
authorID = extras.getInt("author_id"); // NullPointerException here
final String authorName = extras.getString("author_name");
Log.i("click", Integer.toString(authorID));
}
片段从MainActivity:
从AndroidManifestIntent intent = new Intent(MainActivity.this, StoriesActivity.class);
intent.putExtra("author_id", author.getID());
intent.putExtra("author_name", author.getName());
startActivity(intent);
段:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".StoriesActivity"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".StoryBodyActivity"
android:theme="@style/AppTheme"
android:parentActivityName="com.example.apple.bookshelf.StoriesActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.apple.bookshelf.StoriesActivity" />
</activity>
</application>
authorID = extras.getInt(“author_id”);从这里你发送这个值到StoriesActivity: –
@Hasmukhkachhatiya看到我的更新 – Sebastian
多数民众赞成多数民众赞成它的问题来自主要活动,所以回来后,你没有持续存储这个值的故事活动 –