如何保存我的列表视图数据,并在我的应用程序暂停或恢复时再次阅读

时间:2017-04-01 00:00:43

标签: android eclipse listactivity

这是我的代码。我正在研究一个简单的预算计算器应用程序。我唯一的目的是在一个装载中花多少钱?但当我关闭我的应用程序或按下电话上的后退按钮时,我丢失了所有物品。我该如何解决这个问题?

 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();

    }
    }

1 个答案:

答案 0 :(得分:0)

有很多方法可以保存应用程序中的数据。 我建议您首先查看开发者指南here

共享首选项是其键值集最直接的方法,特别是对于简单的应用程序。

您通常可以在onPause()方法中保存所需的数据,并在下次启动时将其加载回活动中。