大佬教程收集整理的这篇文章主要介绍了如何将方法设置为数组,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将标题和艺术家都放入列表:
@OverrIDe
public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) {
if (convertVIEw == null) {
convertVIEw = LayoutInflater.from(getContext()).inflate(R.layout.custome_List, parent, @R_801_11372@sE);
}
MediafileInfo item = (MediafileInfo) getItem(position);
TextVIEw text1 = (TextVIEw) convertVIEw.findVIEwByID(R.ID.textVIEw);
text1.setText(item.gettitle());
TextVIEw text2 = (TextVIEw) convertVIEw.findVIEwByID(R.ID.textVIEw2);
text2.setText(item.getArtist());
return convertVIEw;
}
如果您要从数据库中获取数据并拥有一个,cursor
则应该只创建一个cursorAdapter
子类。您无需执行根据数据创建自己的列表的工作。
您所需要做的就是覆盖bindVIEw()
。 bindVIEw()
会给您一个aVIEw
来填充列表项,一个cursor
已经位于具有该项目数据的记录的位置。这是从光标获取列数据并在列表项视图中设置子视图的简单操作。
我正在尝试显示媒体存储的多个列,例如艺术家,专辑,标题等。我能够正确获取arraylist中的一个列,并且可以正常工作,但是当我添加另一个列时,所有列都在同一列中数组列表,所以我创建了一个类,并在该类方法中添加了列。但是我无法在custome适配器中声明它,这是我的代码。
活动主体
private ArrayList < MediaFileInfo > audioList = new ArrayList < > ();
private void External() {
try {
String[] proj = {
MediaStore.Audio.Media._ID,MediaStore.Audio.Media.titlE,MediaStore.Audio.Media.ARTIST,MediaStore.Audio.Media.ALBUM
}; // Can include more data for more details and check it.
String selection = MediaStore.Audio.Media.DURATION + ">=90000";
String[] SELEctionArgs = null;
String sortOrder = MediaStore.Audio.Media.titlE + " ASC";
cursor audiocursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,proj,SELEction,SELEctionArgs,sortOrder);
if (audiocursor != null) {
if (audiocursor.moveToFirst()) {
do {
int audiotitle = audiocursor.getcolumnIndexOrThrow(MediaStore.Audio.Media.titlE);
int audioartist = audiocursor.getcolumnIndexOrThrow(MediaStore.Audio.Media.ARTIST);
int audioalbum = audiocursor.getcolumnIndexOrThrow(MediaStore.Audio.Media.ALBUM);
MediaFileInfo info = new MediaFileInfo();
info.settitle(audiocursor.getString(audiotitlE));
info.setAlbum(audiocursor.getString(audioalbum));
info.setArtist(audiocursor.getString(audioartist));
audioList.add(info);
} while (audiocursor.moveToNext());
}
}
audiocursor.close();
} catch (Exception E) {
e.printStackTrace();
}
}
}
方法类别
public class MediaFileInfo {
private String title,artist,album;
public String gettitle() {
return title;
}
public void settitle(String titlE) {
this.title = title;
}
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
}
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
}
CustomeAdapter
public class CustomeAdapter extends ArrayAdapter {
private ArrayList < MediaFileInfo > audioList = new ArrayList < > ();
public CustomeAdapter(Context context,int resourcE) {
super(context,resourcE);
}
public CustomeAdapter(MainActivity context,ArrayList < MediaFileInfo > audioList) {
super(context,R.layout.custome_list,audioList);
}
@
Override
public View getView(int position,View convertView,ViewGroup parent) {
LayoutInflater imthebest = LayoutInflater.from(getContext());@
SuppressLint("ViewHolder") View custome = imthebest.inflate(R.layout.custome_list,parent,@R_801_11372@sE);
MediaFileInfo item = audioList.get(0);
String item1 = (String) getItem(position);
TextView text1 = (TextView) custome.findViewById(R.id.textView);
text1.setText(item1);
return custome;
}
}
定制XML
<LinearLayout xmlns:android="http://scheR_144_11845@as.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Song name"
android:id="@+id/textView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearancesmall"
android:text="Artist"
android:id="@+id/textView2" />
</LinearLayout>
如何将方法设置为数组。如何获取任何示例的方法都将有所帮助
以上是大佬教程为你收集整理的如何将方法设置为数组全部内容,希望文章能够帮你解决如何将方法设置为数组所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。