0

ListView私は自分のアプリで新規作成ListViewしましたActionBar。ボタンの機能は、 に新しい項目を作成することListViewです。

私の質問は、ボタンが押されたときにString新しいものを作成するにはどうすればよいですか?ListView

4

4 に答える 4

3

これは、単純な文字列行のみが必要な場合の例です。

  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()
于 2013-06-01T15:30:43.057 に答える
1

ListViewViewsによって管理される複数を表示するウィジェットですAdapter。具体的には、ListAdapter.

リストビュー ウィジェットにアダプターを追加し、そのアダプターを使用して新しいアイテムをリストビューに追加する必要があります。

例えば; を追加して、ユーザーが ActionBar アイテムをクリックしたときにメソッドArrayAdapterを呼び出すことができます。add

ArrayAdapters の使用に関するチュートリアルを次に示します。

最も基本的な形で。既存の Layout と TextView を使用するように ArrayAdapter に指示できます。したがって、文字列の追加は簡単です。

于 2013-06-01T15:19:14.450 に答える
1

基本的には、次のようにする必要があります。

your_btn.setOnClickListener(new View.OnClickListener
{
   public void onClick(View v)
   {
     your_custom_adapter.Add('Foo');
     your_custom_adapter.notifyDataSetChanged();
   }
});

アダプターでのメソッド Add の実装は明らかで、データ構造 (つまり、ArrayList) に新しい文字列を追加するだけです。

幸運を

于 2013-06-01T15:25:59.043 に答える
0

ボタンのクリックでリストに新しいアイテムを追加することを意味する場合、それは確かに、使用したモデルがリストアダプターであることに限定されます。データベース、ファイル、または単なるランタイム List<>(); あなたのリストはアダプターに接続されています。メソッド「getViewAt」は、リストビューのすべての行を返します。

リストビューにデータベースモデルを使用した場合、ボタンクリックのアクティビティで挿入スクリプトを実行すると、データベースがデータを更新し、リストビューアダプターが DB からデータを取得して完了です。

または、アダプターで単純な List<> を使用しているだけの場合。あなたはあなたのクリックでlist.addを行い、アダプターは残りを行います。

Map をデータ モデリングとして使用した vogella でのサンプル: Listview サンプル

于 2013-06-01T15:19:12.693 に答える