1

アイテムのリストと下部にボタンを表示するリストビューがあります。ボタンをクリックすると、1 つの警告ダイアログ ボックスが表示され、ユーザーからの入力を受け取り、その入力をリストビューに追加します。
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();
4

3 に答える 3

0

listview.setStackFromBottom(false)を使用して、リストビューを上から塗りつぶすことができます。

このリンクはあなたを助けるかもしれません。

http://developer.android.com/reference/android/widget/AbsListView.html#setStackFromBottom%28boolean%29

于 2012-05-09T11:07:56.610 に答える
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 のサイズと等しい場合、オブジェクトは最後に追加されます。パラメータ index は、オブジェクトを挿入するインデックスです。object 追加するオブジェクト。

スロー

IndexOutOfBoundsException  when location < 0 || > size()  

セットリストアダプター

ListName.setAdapter(new ArrayAdapter<String>
        (this,android.R.layout.simple_list_item_1 , List));
于 2012-05-09T10:57:04.957 に答える
0

はい、できます。2 つのリストがあります。

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();
于 2012-05-09T10:52:55.407 に答える