我的应用程序存在问题,我不知道该怎么做才能修复它。我是Android新手,不懂java。
该应用程序由包含列表的多个页面组成,所有页面都包含一个用于在这些页面之间导航的微调器。您在微调框中选择项目,应用程序将打开该页面。除了在页面之间跳转之外,在微调器中还有一个“退出应用程序”的选项。
页面跳跃没有问题。我遇到的问题是“退出应用程序”代码。当我通过我的设备上的主页键退出应用程序,或者通过点击退出应用程序(从微调器)然后重新启动应用程序,它不会在仪表板上打开,而是在我上次查看的页面上打开。要解决此问题,我需要长按设备的主页键,然后从最近使用的列表中滑动应用程序。
有没有办法可以当我通过按设备上的主页键退出应用程序,或者从微调器中点击退出应用程序然后重新启动应用程序时,它会在仪表板上打开?
有人可以帮忙吗?
感谢。
字符串代码......
<string-array name="TheList">
<item>Tap Here For List…</item>
<item>Cheese</item>
<item>Planets</item>
<item>Cars</item>
<item><b>Back To Dashboard…</b></item>
<item><b>EXIT APP</item>
</string-array>
以下代码中的案例编号(1-4)是使用微调器项目选择打开的页面。
案例5退出应用程序。我假设代码中存在一个错误,导致应用程序无法在仪表板上重新启动。
java code ...
package com.example.acer.MyKitList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Spinner;
public class Carrying extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page1);
// Spinner element & Spinner click listener
Spinner Spinner = (Spinner) findViewById(R.id.Spinner1);
Spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View view, int position, long row_id) {
switch (position) {
case 1:
Intent a = new Intent(Dashboard.this, Cheese.class);
startActivity(a);
finish();
break;
case 2:
Intent b = new Intent(Dashboard.this, Planets.class);
startActivity(b);
finish();
break;
case 3:
Intent c = new Intent(Dashboard.this, Cars.class);
startActivity(c);
finish();
break;
case 4:
Intent d = new Intent(Dashboard.this, Dashboard.class);
startActivity(d);
finish();
break;
case 5:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
System.exit(0);
finish();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
@Override
public void onBackPressed() {
finish();
}
}
答案 0 :(得分:1)
答案:
case 5:
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
System.exit(0);
答案 1 :(得分:0)
@Override
protected void onResume() {
super.onResume();
//Start Dashboard Activity here
Intent a = new Intent(context, Dashboard.class);
startActivity(a);
finish();
}
}
这将解决问题。