【发布时间】:2020-07-06 06:42:58
【问题描述】:
背景
我有两个活动,分别是MainActivity 和AddPersion。我还定义了一个 java 类,即BaseActivity,它实现了工具栏和菜单项。
我想在 Intent 的帮助下从 MainActivity 移动到 AddPerson 活动,然后通过单击返回导航返回到 MainActivity。我通过以下视频进行了尝试:
How to add Android Back Button
问题
当我在移动到 AddPerson 后单击返回导航按钮时,没有任何反应,即我没有被移动回 MainActivity。
代码
基础活动
public class BaseActivity extends AppCompatActivity {
private Context context; // tried Activity context too with no luck
// code for onCreate here
// code for onCreateOptionsMenu here
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (getItemId()){
case R.id.share:
// code for share here
break;
case R.id.addPerson:
startActivity(new Intent(getContext(), AddPerson.class));
}
return true;
}
public void initToolbar(boolean isChild){
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(isChild);
}
public void setContext(Context context){ this.context = context; }
public Context getContext(){ return context; }
}
MainActivity
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initToolbar(false);
setContext(this);
}
}
加人
public class AddPerson extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_person);
initToolbar(true);
}
}
AndroidManifest
<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=".AddPerson"
android:parentActivityName=".MainActivity">
</activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我知道问题出在上下文中,但我不知道如何解决。
【问题讨论】:
标签: android android-activity android-context