1

ListView に情報を動的に追加しようとしています。追加する情報は、「デバイス名」(メイン項目)と「MAC アドレス」(サブ項目)です。オンラインの例を以下に示します。注: 項目 1 をデバイス 1 の名前に置き換え、サブ項目 1 をデバイス 1 の MAC アドレスに置き換えたいと考えています。これは、デバイスがスキャンされるときにリストが読み込まれるため、動的に実行する必要があります。

有効な XHTML.

これが繰り返しとしてマークされる前に、次の質問を見ましたが、助けにはなりませんでした: AndroidにListView サブアイテム テキストを追加する、 ListView にサブアイテムを追加する方法 、 ListViewアイテムとサブアイテムを追加する方法

これらの質問を読んで得た結論は、カスタムを実装してメソッドArrayAdapterをオーバーライドする必要があるということです。getView()2 つのテキスト ビューを含むカスタム レイアウトを作成しました。

cyan_list.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView
    android:id="@+id/main_item"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/cyan"/>

<TextView
    android:id="@+id/sub_item"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/dark_cyan"/>

</LinearLayout>

次に、Activity クラスでカスタム ArrayAdapter を作成しようとしましたが、public View getView(final int position, View convertView, ViewGroup parent)メソッドに何を入れればよいかわかりません。さらに、テキストビュー サブアイテムを追加するだけの場合、カスタム ArrayAdapter を作成する必要がありますか?

4

3 に答える 3

2

あなたの質問に対する答えは次のとおりです。いいえArrayAdapter、アイテムを追加したいだけなら、カスタムを作成する必要はありません。ただし、レイアウトがカスタマイズされている場合は、表示するアイテムを大幅に制御できるため、作成することをお勧めします。を作成する場所にコードを追加しませんでしArrayAdapterたが、あなたの場合はこのコンストラクターを使用します。重要な部分は 3 番目のパラメーターです。アクティビティではArrayList、ArrayAdapter に追加する最初の項目と共に を保存する必要があります。次に、新しい項目を追加する場合は、それを に追加してアダプターArrayAdapterを呼び出すだけです。 notifyDataSetChanged(). これを行うだけで、アイテムがレイア​​ウトに追加されて表示されます。GetView独自のメソッドをオーバーライドする必要がある場合はArrayAdapter、これをお勧めしますリンク、全体を理解するのに役立ちました。

于 2014-01-18T22:07:38.053 に答える
1

これらのチュートリアルのように、Googleでリストビューの例を検索していますか:

http://www.vogella.com/tutorials/AndroidListView/article.html

http://www.mkyong.com/android/android-listview-example/

リストアダプターの作成方法を段階的に説明していると思います

于 2014-01-18T22:04:51.773 に答える