ユーザーがボタンをクリックすると、新しい ListFragment が表示されます。このフラグメントには、関連付けられたアーティスト名を含むアルバムのリストが含まれます。
アルバムのタイトルと対応するアーティスト名AlbumItem (String name, String artist)
を使用して、独自のクラスを作成しました。name
artist
public class AlbumItem {
private String AlbumName;
private String AlbumArtist;
public AlbumItem(){
}
public AlbumItem(String name, String artist){
this.AlbumName = name;
this.AlbumArtist = artist;
}
public String getAlbumName() {
return AlbumName;
}
public void setAlbumName(String AlbumName) {
this.AlbumName = AlbumName;
}
public String getAlbumArtist() {
return AlbumArtist;
}
public void setAlbumArtist(String AlbumArtist) {
this.AlbumArtist = AlbumArtist;
}
}
次に、アルバムの名前とアーティストの名前を ListView の行の正しい TextView に関連付けるカスタム アダプターを作成しました。
したがって、AlbumItem の ArrayList を宣言して、次のように入力できます。
ArrayList<AlbumItem> arrayList;
arrayList.add(new AlbumItem ("Album's title", "Artist");
今、私はいくつかの質問があります:
1) 私は適切な道を進んでいますか? 私は常にそのようなリストビューを埋めることを学び、この手法 (カスタム アイテム クラス + ArrayList + カスタム アダプター) を使用することに非常に慣れていますが、音楽プレーヤーを実行していて、アルバムのリストを照会して更新したいと考えています。 UI がブロックされないようにリストビューを非同期に。私のやり方でArrayListにデータをロードすることでそれが可能かどうかはわかりません。
2) この ArrayList を非同期的に埋める方法は? LoaderManager/CursorLoader または Asyntask または何か他のもので? (Android 4.0をターゲットにしています)
アドバイスありがとうございます。