有人在一周前问我一个问题,直到现在我还没有得到那个问题的答案。问题是我们如何通过按下设备的后退按钮而不使用intent或finish()来回到之前的Activity。
答案 0 :(得分:4)
如果您使用的是意图,请确保在使用
后不要调用finish();
StartActivity(IntentObj);
方法比根据活动堆栈按钮将完成其工作并转到上一个活动。
并确保您不会在活动中覆盖onBackPressed()
方法。
OR
您可以设置主页按钮转到特定活动,
对于你必须回馈按钮进入操作栏。
对于onCreate()
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
并在manifest.xml
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
答案 1 :(得分:2)
你可以尝试这个
BackButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
之后转到Manifest并在活动标记
下添加此行 android:noHistory="false"
答案 2 :(得分:1)
通过按下设备的后退按钮,android系统维护堆栈进行活动并为你完成这项工作,无需为返回上一个活动做任何代码。
如果您想在操作栏中添加后退按钮,请执行此操作。
在onCreate方法
中添加以下代码getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
在您的活动中的Menifest.xml文件中添加以下代码
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
在android:value中添加您要重定向的父活动。
如需更多参考,请访问以下链接...
https://developer.android.com/training/implementing-navigation/ancestral.html
答案 3 :(得分:0)
如果您在当前活动中有这样的按钮,那么如果您点击该按钮,则可以转到上一个活动。请注意当前活动将由此完成。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish(); //finish current activity and go back to previous Activity
}
});
答案 4 :(得分:0)
使用getActivity()。onBackPressed();片段中按钮的onclick事件中的代码适合我。
答案 5 :(得分:-3)
您可以通过简单地覆盖活动中的onBackPressed方法来实现。
@Override
public void onBackPressed() {
super.onBackPressed();
}
希望这有帮助!