2015-11-18 24 views
1

我有一个Android应用程序,在那里我有一个的ListView自定义适配器和某些项目静态有的动态(从网址加载它们)。长时间的停顿之后,动态地添加的项目是不是有

它完美的作品,有没有错误,但是当我停下我的应用程序与其他应用程序播放(如铬冲浪),然后当我回到应用程序时,静态项目是有的,但动态物品消失了。

编辑:我使用volley StringRequest和Gson从url加载项目。

回答

0

你必须存储你取的数据,你可以在2种不同的方式

可以保存数据,当你回来的时候使用的onSaveInstanceState和onRestoreInstanceState方法

@Override 
public void onSaveInstanceState(Bundle savedInstanceState) { 
    super.onSaveInstanceState(savedInstanceState); 

    // save your date like this 
    savedInstanceState.putBoolean("MyBoolean", true); 
    savedInstanceState.putDouble("myDouble", 1.9); 
    savedInstanceState.putInt("MyInt", 1); 
    savedInstanceState.putString("MyString", "Welcome back to Android"); 
    // etc. 
} 


@Override 
public void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 

    // Restore your date like this and assign it to your list or where ever you need 
    // This bundle has also been passed to onCreate. 
    boolean myBoolean = savedInstanceState.getBoolean("MyBoolean"); 
    double myDouble = savedInstanceState.getDouble("myDouble"); 
    int myInt = savedInstanceState.getInt("MyInt"); 
    String myString = savedInstanceState.getString("MyString"); 
} 
您的应用程序恢复它实现这一目标

您可以将其存储在数据库中,每当你移动到onRestoreSaveInstance

@Override 
public void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 

    // fetch data from database and assign it back to your UI 
} 
+0

由于其恢复,至少我知道那里的PROBL em是,但我必须保存的数据是一个对象。我可以在下面的onRestore方法中调用我的loadDynamicItems()函数吗? – Unknown

+0

是的,你可以在onRestoreInstance方法中调用它来恢复数据 –

相关问题