1

ITEM のリスト ビューでフィードのタイトルを取得しますが、そのリスト ビューの SUBITEM で説明、画像、およびリンクを取得したいと考えています。手伝って頂けますか?これは私が持っているものです:

1)ListViewインMainActivity

ArrayAdapter<RSSItem> adapter;
adapter = new ArrayAdapter<RSSItem>(
    this,
    android.R.layout.simple_list_item_1,
    myRssFeed.getList()
);
setListAdapter(adapter);

2)RSSItem

public class RSSItem {

    private String title = null;
    private String description = null;
    private String link = null;
    private String pubdate = null;

    RSSItem(){}

    void setTitle(String value) {
        title = value;
    }

    void setDescription(String value) {
        description = value;
    }
    void setLink(String value) {
        link = value;
    }
    void setPubdate(String value) {
        pubdate = value;
    }

    String getTitle() {
        return title;
    }

    String getDescription() {
        return description;
    }
    String getLink() {
        return link;
    }
    String getPubdate() {
        return pubdate;
    }

    public String toString() {
        //TODO Auto-generated method stub
        return title;
    }
}
4

1 に答える 1

2

カスタムを使用するだけArrayAdapterです。それは非常に簡単です:

1) カスタムを定義しますArrayAdaptergetView()アダプターに渡す各項目に基づいてビューを作成するには、本体を入力します。

public class YourArrayAdapter<YourDataObject> extends ArrayAdapter<T> {

    public YourArrayAdapter(Context context) {
        super(context, 0); // Pass in 0 because we will be overriding getView()
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // getView() gets called when this item becomes visible in the ListView
        // All you have to do is build a view with your data object and return it.
        YourDataObject yourDataObject = getItem(position);
        YourView view = new YourView(yourDataObject);

    }
}

2) アダプタを に渡し、ListViewデータを追加します。

YourArrayAdapter<RSSItem> adapter = new YourArrayAdapter<RSSItem>(this);
adapter.addAll(myRssFeed.getList());
setListAdapter(adapter);

ここで重要なことは、ListView が を介してビューを要求したときに、Adaptersデータのリストを実際の UIに変換することです。この場合、カスタム を作成しているので、それが返すに関するすべてを制御します。独自のレイアウトを持ち、RSSItem に含まれるさまざまなデータを含むビューを返すことができ、それらを任意の形式で表示できます。すばらしいことに、と カスタムを使用すると、これらのビューの作成や破棄について心配する必要がなくなります。したがって、返されるアイテムにビットマップが含まれている場合、メモリ不足についてあまり心配する必要はありません。ViewsAdapter.getView()ArrayAdapterViewListViewArrayAdapterArrayAdapter.getView()

于 2013-10-21T21:28:40.100 に答える