我有一个列表视图,显示项目列表和底部的按钮。点击按钮,我显示一个警报dailog框,从用户那里获取输入并将该输入添加到列表视图。
1.如何确保新的输入/输入应始终添加到列表视图的顶部? (现在它总是在底部添加)
2。是否可以将列表视图放在新条目中? (即如果新条目添加在顶部,则列表应位于顶部)
请指导我。
在onCreate()...
中 list = (ListView)findViewById(R.id.planetList);
adapter = new ArrayAdapter<String>(MyListViewActivity.this,
R.layout.my_list_row, R.id.planetNameTextView);
for (int i = 0; i < planetNamesArray.length; i++) {
adapter.add(planetNamesArray[i]);
}
list.setAdapter(adapter);
从用户那里获取输入后....
adapter.add(newPlanetNameEnteredByUser);
adapter.notifyDataSetChanged();
答案 0 :(得分:0)
是的,你可以这样做,有两个List。
List<String> old = new ArrayList<String>(); // contains your list content
List<String> new = new ArrayList<String>();
现在,当您想要向ListView添加新内容时,请先将其添加到新的ArrayList,
new.add("new content");
new.addAll(old); // add all the old contents
new.setSelection(position_you_want);
adapter.notifyDataSetChanged();
答案 1 :(得分:0)
在数组列表中添加对象
ArrayList<String> List= new ArrayList<String>();
ListView ListName= (ListView)findViewById(R.id.playerdata);
带
List.add(index, "value");
public void add (int index, E object)
自:API级别1 将指定的对象插入指定位置的ArrayList中。该对象在指定位置的任何前一个元素之前插入。如果该位置等于此ArrayList的大小,则在末尾添加该对象。 参数 索引插入对象的索引。 对象要添加的对象。
抛出
IndexOutOfBoundsException when location < 0 || > size()
并设置列表适配器
ListName.setAdapter(new ArrayAdapter<String>
(this,android.R.layout.simple_list_item_1 , List));
答案 2 :(得分:0)
您可以使用 listview.setStackFromBottom(false)从顶部填充列表视图。
此链接可能会对您有所帮助。