【发布时间】:2017-11-12 16:58:29
【问题描述】:
我有一个活动,它在我的应用程序首次启动时开始(仅一次)。活动让用户选择主题。然后当他们按下完成时,我完成()活动。这将用户引导到 MainActivity。但是当用户按下后退按钮时,它会返回到第一次启动的活动(我使用完成()关闭的活动)。但我想要的是当用户按下 MainActivity 的后退按钮时应用程序应该关闭(总是)。我在两个类中都覆盖了 onBackPressed。
我在两个类中的 onBackPressed 方法如下所示:
@Override
public void onBackPressed() {
finish();
}
MainActivity(相关部分代码):
public class MainActivity extends AppCompatActivity
{
TopicAdapter adapter;
private AdView mAdView ;
//-------GLOBAL VARIABLES-------------------
AdRequest adRequest;
ArrayList<Sections> gameList = new ArrayList<>();
String json;
//-------------------------------------------
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences sharedPreferences =
getSharedPreferences("ShaPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();
boolean firstTime=sharedPreferences.getBoolean("first", true);
//Launch the topics selection activity for the first time
if(firstTime)
{
editor.putBoolean("first",false);
editor.commit();
Intent intent = new Intent(MainActivity.this, channels_activity.class);
intent.putExtra("isFirst",true);
startActivity(intent);
}
}
@Override
public void onBackPressed()
{
finish();
}
}
【问题讨论】:
-
将
launchMode更改为singleInstance -
在切换到 MainActivity 时完成您的第一个活动
-
您的建议和答案对我有帮助,谢谢。
标签: java android android-activity onbackpressed