我在我的应用中创建了新的ListView
,我有ListView
,而在ActionBar
中有一个按钮“添加新”。按钮的功能是在ListView
。
我的问题是:当按下按钮时,如何在String
中创建新的ListView
?
答案 0 :(得分:3)
如果您只需要简单的String行,那么这就是示例。
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()
答案 1 :(得分:1)
ListView
是显示由Views
管理的多个Adapter
的小部件。具体而言,ListAdapter
。
您需要在listview小部件中添加适配器,并使用该适配器将新项目添加到列表视图。
例如;您可以添加ArrayAdapter
并在用户点击ActionBar项时调用add
方法。
Here is a tutorial on using ArrayAdapters
以最基本的形式。您可以告诉ArrayAdapter使用现有的Layout和TextView。所以添加一个字符串应该很简单。
答案 2 :(得分:1)
基本上必须做这样的事情:
your_btn.setOnClickListener(new View.OnClickListener
{
public void onClick(View v)
{
your_custom_adapter.Add('Foo');
your_custom_adapter.notifyDataSetChanged();
}
});
在适配器中添加方法的实现是显而易见的,它只是在数据结构中添加了一个新的String(即:一个ArrayList)。
祝你好运
答案 3 :(得分:0)
如果您的意思是:点击按钮将新项目添加到列表中, 您使用的模型适合您的列表适配器。数据库,文件或运行时List&lt;&gt;(); 您的列表与适配器连接;方法“getViewAt”返回listview中的每一行。
如果您使用listview的数据库模型,则在活动中运行插入脚本以单击按钮,数据库刷新其数据,listview适配器从数据库中检索数据并完成。
或者如果你只是使用一个简单的List&lt;&gt;在你的适配器;你会在你的点击和放大中做list.add;适配器完成剩下的工作。
使用Map作为数据建模的示例:Listview sample