【问题标题】:I have a Edit text and a save button in my activity, what ever text we enter in the edit text should be saved我的活动中有一个编辑文本和一个保存按钮,我们在编辑文本中输入的任何文本都应该保存
【发布时间】:2015-06-29 23:31:48
【问题描述】:

我的Activity 中有一个EditText 和一个保存Button,无论用户在EditText 中输入什么文本,当用户单击保存(添加)Button 时,它都应该被保存。 每当用户点击Activity 中的负载Button 时,就会出现Load Button,保存的数据应该显示在ListView 中。

更新:我想将用户输入的数据保存到数组中并用数组填充列表视图

代码如下:

ArrayList<String> namelist = new ArrayList<String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, namelist );
    ListView list = (ListView) findViewById(R.id.listView);
    list.setAdapter(adapter);

    Button save = (Button) findViewById(R.id.button_save);
    save.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            EditText name = (EditText) findViewById(R.id.editText);
            String n = name.getText().toString();
            namelist.add(n);
            name.setText(" ");

        }
    });

}

【问题讨论】:

  • 发布您使用 sharedpreference 尝试过的代码,以便有人可以编辑它,您是否希望在进入应用程序时保存数据,还是每次打开应用程序时都会刷新?
  • @KarthikaPB 我必须在应用程序运行时显示所有保存的数据!应用关闭后,它可能会被冲走。
  • 好的,请发布您的代码..

标签: android listview arraylist android-arrayadapter


【解决方案1】:

我得到了答案,伙计们!谢谢大家!为您的建议!

我必须使用notifyDataSetChanged(); 方法来填充Listview

【讨论】:

    【解决方案2】:

    根据您的评论,我必须在应用程序运行时显示所有保存的数据!应用关闭后它可能会被冲走

    -- 您可以在活动中使用静态字符串,并且可以在单击“加载”按钮时使用字符串加载编辑文本

    【讨论】:

      【解决方案3】:

      在我看来,共享首选项用于其他内容,例如登录用户名、登录密码或类似的东西,但这不是一个好习惯,用它来保存数据。

      要保存数据,您可以使用 SQLite 或 GreenDao 等一些 ORM。是在本地保存和加载数据的最佳和最快方式。

      http://greendao-orm.com/documentation/how-to-get-started/ http://developer.android.com/training/basics/data-storage/databases.html

      【讨论】:

        【解决方案4】:

        不要将您的值存储在 SharedPreference 中。

        使用 SQLite 来存储数据。

        SQLite获取Array中的所有值,然后显示在Listview中。

        【讨论】:

        • 谢谢你,Harish!我可以在不使用数据库的情况下直接将数据添加到数组!我不想把它存放在任何地方。
        • 如果直接添加到数组中,Listview中只会显示一次数据。
        • 如果你在 Sqlite 中添加然后数组意味着,你的旧数据也会显示在 Listview 中
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多