0

我在我的应用程序中创建了新ListView的,我有我的ListView,并且ActionBar有一个按钮“添加新”。该按钮的功能是在ListView.

我的问题是:当按钮被按下时,我怎样才能String在我的里面做一个新的?ListView

4

4 回答 4

3

如果您只需要简单的字符串行,这就是示例。

  ListView lv = (ListView) findViewById(R.id.mylist);
        String[] values = new String[] { "Android", "Linux", "OSX", 
                "WebOS", "Windows7", "Ubuntu", "OS/2"
        };
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.rowlayout,   R.id.restaurantname, values);
    lv.setAdapter(adapter);
adapter.add("another row");
    adapter.notifyDataSetChanged()
于 2013-06-01T15:30:43.057 回答
1

ListView是显示多个ViewsAdapter. 具体来说,一个ListAdapter.

您需要将适配器添加到列表视图小部件,并使用该适配器将新项目添加到列表视图。

例如; 当用户单击 ActionBar 项时,您可以添加ArrayAdapter并调用该方法。add

这是使用 ArrayAdapters 的教程

以最基本的形式。您可以告诉 ArrayAdapter 使用现有的 Layout 和 TextView。所以添加一个字符串应该很简单。

于 2013-06-01T15:19:14.450 回答
1

基本上你必须这样做:

your_btn.setOnClickListener(new View.OnClickListener
{
   public void onClick(View v)
   {
     your_custom_adapter.Add('Foo');
     your_custom_adapter.notifyDataSetChanged();
   }
});

适配器中 Add 方法的实现是显而易见的,它只是将一个新字符串添加到您的数据结构中(即:一个 ArrayList)。

祝你好运

于 2013-06-01T15:25:59.043 回答
0

如果您的意思是:通过单击按钮将新项目添加到列表中,那肯定受限于您使用的列表适配器模型。一个数据库、一个文件或只是一个运行时 List<>(); 您的列表已与适配器连接;“getViewAt”方法返回列表视图中的每一行。

如果您为 listview 使用数据库模型,则在您的活动中运行插入脚本以单击按钮,数据库刷新其数据,您的 listview 适配器从 DB 检索数据并完成。

或者,如果您只是在适配器中使用简单的 List<>;您将在您的单击中执行 list.add,其余的由适配器完成。

vogella 示例,使用 Map 作为数据建模:Listview 示例

于 2013-06-01T15:19:12.693 回答