如何在我的应用程序暂停或恢复时保存我的列表视图数据并再次读取
How to save my listview data and read again while my application pause or resume
这是我的 code.I 我正在研究一个简单的预算计算器 application.My 唯一的目的是我在一个坐骑上花了多少钱?但是当我关闭应用程序或按下电话上的后退按钮时,我丢失了所有物品。我该如何解决这个问题?
public class MainActivity extends ListActivity {
private static final String[] items={"31.03.2017 Harcama ve Kazanç Tablosu"};
public static final int MENU_ADD = Menu.FIRST+1;
String ilk = "31.03.2017 Harcama ve Kazanç Tablosu";
public static final int MENU_RESET = Menu.FIRST+2;
public static final int MENU_REMOVE = Menu.FIRST+4 ;
ArrayList<String> words=null;
@Override
public void onCreate(Bundle SavedInstanceState ) {
super.onCreate(SavedInstanceState );
initadapter();
registerForContextMenu(getListView());
}
private void initadapter() {
words=new ArrayList<String>();
for (String s : items) {
words.add(s);
}
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, words));// TODO Auto-generated method stub
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
menu.add(Menu.NONE, MENU_ADD, Menu.NONE, "Ekle");
menu.add(Menu.NONE, MENU_REMOVE, Menu.NONE, "Sil");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info= (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
ArrayAdapter<String> adapter=(ArrayAdapter<String>)getListAdapter();
{
}
switch (item.getItemId()) {
case MENU_REMOVE:
adapter.remove(words.get(info.position));
case MENU_ADD:
add();
return(true);
}
return(super.onContextItemSelected(item));
}{
}
private void add() {
final View addView=getLayoutInflater().inflate(R.layout.activity_main, null);
new AlertDialog.Builder(this)
.setTitle("Gider veya gelir ekle.")
.setView(addView)
.setPositiveButton("Tamam",
new DialogInterface.OnClickListener() {
@SuppressWarnings("unchecked")
public void onClick(DialogInterface dialog,
int whichButton) {
ArrayAdapter<String> adapter=(ArrayAdapter<String>)getListAdapter();
EditText yazı=(EditText)addView.findViewById(R.id.title);
adapter.add(yazı.getText().toString());
}
})
.setNegativeButton("Geri", null)
.show();
}
}
有很多方法可以保存应用程序中的数据。
我建议您先看看开发者指南 here。
共享首选项是使用其键值集的最直接的方法,尤其是对于简单的应用程序。
您通常可以在onPause()方法中保存您需要的数据,并在下次启动时加载回activity。
这是我的 code.I 我正在研究一个简单的预算计算器 application.My 唯一的目的是我在一个坐骑上花了多少钱?但是当我关闭应用程序或按下电话上的后退按钮时,我丢失了所有物品。我该如何解决这个问题?
public class MainActivity extends ListActivity {
private static final String[] items={"31.03.2017 Harcama ve Kazanç Tablosu"};
public static final int MENU_ADD = Menu.FIRST+1;
String ilk = "31.03.2017 Harcama ve Kazanç Tablosu";
public static final int MENU_RESET = Menu.FIRST+2;
public static final int MENU_REMOVE = Menu.FIRST+4 ;
ArrayList<String> words=null;
@Override
public void onCreate(Bundle SavedInstanceState ) {
super.onCreate(SavedInstanceState );
initadapter();
registerForContextMenu(getListView());
}
private void initadapter() {
words=new ArrayList<String>();
for (String s : items) {
words.add(s);
}
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, words));// TODO Auto-generated method stub
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
menu.add(Menu.NONE, MENU_ADD, Menu.NONE, "Ekle");
menu.add(Menu.NONE, MENU_REMOVE, Menu.NONE, "Sil");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info= (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
ArrayAdapter<String> adapter=(ArrayAdapter<String>)getListAdapter();
{
}
switch (item.getItemId()) {
case MENU_REMOVE:
adapter.remove(words.get(info.position));
case MENU_ADD:
add();
return(true);
}
return(super.onContextItemSelected(item));
}{
}
private void add() {
final View addView=getLayoutInflater().inflate(R.layout.activity_main, null);
new AlertDialog.Builder(this)
.setTitle("Gider veya gelir ekle.")
.setView(addView)
.setPositiveButton("Tamam",
new DialogInterface.OnClickListener() {
@SuppressWarnings("unchecked")
public void onClick(DialogInterface dialog,
int whichButton) {
ArrayAdapter<String> adapter=(ArrayAdapter<String>)getListAdapter();
EditText yazı=(EditText)addView.findViewById(R.id.title);
adapter.add(yazı.getText().toString());
}
})
.setNegativeButton("Geri", null)
.show();
}
}
有很多方法可以保存应用程序中的数据。 我建议您先看看开发者指南 here。
共享首选项是使用其键值集的最直接的方法,尤其是对于简单的应用程序。
您通常可以在onPause()方法中保存您需要的数据,并在下次启动时加载回activity。