Java 如何显示最近的活动?
我在Android demo中创建了4个活动。当我 从我的第一个活动运行应用程序以显示第二个活动 以此类推。我试图让数据保持和我出生时一样 按下3活动中的后退按钮,应用程序将退出,但 当我返回到第三个活动和数据时,我会重新启动 保持原样。我使用的是使用意图的共享偏好 但它不能正常工作Java 如何显示最近的活动?,java,android,Java,Android,我在Android demo中创建了4个活动。当我 从我的第一个活动运行应用程序以显示第二个活动 以此类推。我试图让数据保持和我出生时一样 按下3活动中的后退按钮,应用程序将退出,但 当我返回到第三个活动和数据时,我会重新启动 保持原样。我使用的是使用意图的共享偏好 但它不能正常工作 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);
final SharedPreferences sharedPref=this.getSharedPreferences("MY_PREF_1",MODE_WORLD_READABLE);
SharedPreferences.Editor shredPref_Editor=sharedPref.edit();
//shredPref_Editor.putString(MY_ACTIVITY,"splash_activity");
prefName = sharedPref.getString(MY_ACTIVITY,"splash_activity");
handler = new Handler(){};
runnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
if(prefName == "splash_activity" || prefName.toString().trim().equals("Number_Activity"))
{
Intent i1=new Intent(Splash_Screen_Activity.this,Number_Activity.class);
startActivity(i1);
}
else if(prefName.toString().trim().equals("pin_number_activity"))
{
Intent i2=new Intent(Splash_Screen_Activity.this,PIN_Number_Activity.class);
startActivity(i2);
}
else
{
Intent i3=new Intent(Splash_Screen_Activity.this , Custom_Title_Bar_Activity.class);
startActivity(i3);
}
}
};
public class Number_Activity extends Activity
{
private final String MY_ACTIVITY = "Number_Activity";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.cell_number);
SharedPreferences sharedPref=this.getSharedPreferences("MY_PREF_2",MODE_WORLD_READABLE);
SharedPreferences.Editor shredPref_Editor=sharedPref.edit();
shredPref_Editor.putString(MY_ACTIVITY,"number_activity");
shredPref_Editor.commit();
}
}
public class PIN_Number_Activity extends Activity
{
private final String MY_ACTIVITY = "PinNum_MyActivity";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.pin_number);
SharedPreferences sharedPref=this.getSharedPreferences("MY_PREF_3",MODE_WORLD_READABLE);
SharedPreferences.Editor shredPref_Editor=sharedPref.edit();
shredPref_Editor.putString(MY_ACTIVITY,"pin_number_activity");
shredPref_Editor.commit();
}
}
public class Custom_Title_Bar_Activity extends Activity
{
private final String MY_ACTIVITY = "Main_Activity";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Boolean customTitleSupported=requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main_for_ctitlebar);
SharedPreferences sharedPref=this.getSharedPreferences("MY_PREF_4",MODE_WORLD_READABLE);
SharedPreferences.Editor shredPref_Editor=sharedPref.edit();
shredPref_Editor.putString(MY_ACTIVITY,"main_activity");
shredPref_Editor.commit();
}
}
您应该覆盖onBackKeyPressed,然后更改SharedPref中的值。为什么要使用四种不同的共享首选项?我认为你需要从共享偏好中获得价值观。现在,您只是将值放入其中。然后你们会得到什么值?当点击后退按钮时,如何在相同的活动上启动应用程序。这样就可以使用共享首选项了。