0
我正在使用適配器(viewpager),當應用程序更改方向時,它會丟失其信息。保存這些信息最簡單的方法是哪一種?我打算在適配器內部使用savedInstanceState,但它不能識別它。管理適配器(viewpager)時,將數據保存到savedInstanceState的最簡單方法
我正在使用適配器(viewpager),當應用程序更改方向時,它會丟失其信息。保存這些信息最簡單的方法是哪一種?我打算在適配器內部使用savedInstanceState,但它不能識別它。管理適配器(viewpager)時,將數據保存到savedInstanceState的最簡單方法
最後,我已經做了以下霍夫雷的意見,因爲他在Activity restart on rotation Android 和尋找指向http://developer.android.com/intl/es/guide/topics/resources/runtime-changes.html
不得修改清單。請勿添加機器人:configChanges
SOLUTION:
//ALL THE VARIABLES YOU NEED TO SAVE IN YOUR ADAPTER PUT THEM AS PUBLIC, IE:
//public int a = 2;
//public String b = "a";
Public class Yourclass extends Activity{
Classofyouradapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourlayout);
final Save_object data = (Save_object) getLastNonConfigurationInstance();
adapter = new Classofyouradapter(your variables);
if (data != null) {
fillit(data);
}
myPager = (ViewPager) findViewById(R.id.yourpanelpager);
myPager.setAdapter(adapter);
}
@Override
public Object onRetainNonConfigurationInstance() {
final Save_object data = new Save_object();
return data;
}
public class Save_object{
int a = adapter.a;
String b = adapter.b;
//Rest of variables
}
public void fillit(Save_object data){
adapter.a= data.a;
adapter.b= data.b;
//Rest of variables
}
}
能否請你告訴我們,你到目前爲止,你已經嘗試過什麼什麼,和你的儲蓄? – 2012-08-13 16:22:56
我有一些佈局,由Viewpager管理edittext。如果我改變手機的方向,它會丟失信息。我知道我必須保存它們,但我不能在適配器內使用savedInstanceState。我有以下幾點:創建一個純文本,創建一個小數據庫,從創建適配器的類每隔x秒刷新一次,並從變量中檢索信息,但我認爲這些事情對於如此愚蠢的操作來說非常複雜 – 2012-08-13 16:28:26
這不是關於我有這一行錯誤。這是關於如何以簡單的方式做到這一點?這些步驟,代碼行遵循它。 – 2012-08-13 16:59:58