2012-05-09 136 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));