我仍然面对一个最喜欢的按钮,它应该保存我的布局并将布局设置为新活动的布局。问题是我的活动应该打开我保存的布局,不会这样做,但我不明白为什么..这是我的代码:
public void AddToFavoriteListener(final View v){
SharedPreferences prefs=getSharedPreferences("MYPREF",MODE_PRIVATE);
int favActivity=prefs.getInt("FAV_ACTIVITY", 0);
switch(favActivity){
case 0:
Toast.makeText(getApplication(),"Favorite not set.",Toast.LENGTH_SHORT).show();
break;
case 1:
//code to open first activity
break;
case 2:
//code to open second activity
break;
}
return;
以下是保存布局的代码:
public void AddToFavorite(View v){
SharedPreferences pref=getSharedPreferences("MYPREF",MODE_PRIVATE);
SharedPreferences.Editor editor=pref.edit();
int activityNum = 0;
editor.putInt("FAV_ACTIVITY", activityNum);
editor.commit();
}
非常感谢!
L.E:我编辑了活动的第一个代码,该代码应该打开保存的布局,但按钮仍然会打开黑色活动..
答案 0 :(得分:0)
假设保存首选项后,下次用户打开应用程序时,您希望它启动其他活动..
最简单的方法是从onCreate()中获取首选项,然后打开正确的活动。例如,从onCreate()中调用它:
private void openFromFavorites() {
SharedPreferences prefs=getSharedPreferences("MYPREF",MODE_PRIVATE);
int favActivity=prefs.getInt("FAV_ACTIVITY", 0);
switch(favActivity){
case 0:
Toast.makeText(getApplication(),"Favorite not set.",Toast.LENGTH_SHORT).show();
break;
case 1:
Intent intent = new Intent(this, ActivityForPref1.class );
startActivity(intent);
finish();
break;
case 2:
Intent intent = new Intent(this, ActivityForPref2.class );
startActivity(intent);
finish();
break;
}
}
如果你已经这样做了,但是新活动只是空白,那么它可能与你调用setContentView()的方式有关。