2012-05-09 95 views
1

我有一个listview显示项目列表和一个按钮在底部。点击按钮,我会显示一个警报dailog框,以从用户获取输入并将该输入添加到列表视图。
1.我怎样才能确保新的输入/输入应该总是添加到列表视图的顶部? (现在它总是在底部添加)
2.是否可以在新条目中定位列表视图? (即如果新条目添加在顶部,则列表应位于顶部)
请指导我。Android:Listview的东西

里面的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

是的,你可以做到这一点,有两个列表。

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

Since:API Level 1 将指定的对象插入到此ArrayList的指定位置。该对象被插入指定位置的任何前一个元素之前。如果该位置等于此ArrayList的大小,则在最后添加该对象。 参数 索引要插入对象的索引。 对象要添加的对象。

抛出

IndexOutOfBoundsException when location < 0 || > size() 

,并设置列表适配器

ListName.setAdapter(new ArrayAdapter<String> 
     (this,android.R.layout.simple_list_item_1 , List));