小编典典

如何从给定的类Item获取数组?

java

首先,我是一个新手,我正在尝试使用mediastore获取媒体文件的详细信息,并将详细信息保存在List中mitems。这是我在做什么

public class MusicRetriever {
final String TAG = "MusicRetriever";
ContentResolver mContentResolver;
// the items (songs) we have queried
List<Item> mItems = new ArrayList<Item>();

在这里,我从内部和外部uri获取文件详细信息并将其保存在中arraylist。但是我无法获取特定列的详细信息。这就是我正在尝试的

public class Item {
long id;
String artist;
String title;
String album;
long duration;

public Item(long id, String artist, String title, String album, long duration) {
    this.id = id;
    this.artist = artist;
    this.title = title;
    this.album = album;
    this.duration = duration;
}

public long getId() {
    return id;
}

public String getArtist() {
    return artist;
}

public String getTitle() {
    return title;
}

public String getAlbum() {
    return album;
}

public long getDuration() {
    return duration;
}

public Uri getURI() {
    return ContentUris.withAppendedId(
            android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, id);
}
}

我如何从另一个类或片段中的Item类获得以下详细信息作为数组。


阅读 228

收藏
2020-11-30

共1个答案

小编典典

您可以像这样获取数组项。例如,这是示例

for(int i =0; i<= mItem.size(); i++){
        String songName = mItem.get(i).getArtist();
        String songAlbum = mItem.get(i).getAlbum();
    }
  1. 如果要将数据设置为listview,可以这样设置。

首先全局设置此变量。

ListAdapter myadapter;

>     ArrayList<String> songList = new ArrayList<String>();

在onCreate方法中使用如下所示:

 for(int i = 0; i<=mItem.size();i++)
 {
     songList.add(mItem.get(i).getArtist());
 }

 myadapter = new ArrayAdapter<String>  
(YourActivity.this, android.R.layout.simple_list_item_1, songList);

我希望它能起作用。

2020-11-30