作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在安卓系统工作。我正在创建一个音乐应用程序。在此应用程序中,我想将歌曲名称和艺术家姓名显示到列表中。 这是我的代码:-
String[] title_of_song={"title1","title2","title3","title4","title5"};
String[] artist_of_song={"artist1","artist2","artist3","artist4","artist5"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row_button, R.id.TextView_songName, title_of_song);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, R.layout.row_button, R.id.TextView_byArtist, artist_of_song);
list.setAdapter(adapter);
list.setAdapter(adapter1); //**this is creating error**
这是造成列表无法两次设置适配器的问题。所以请告诉我解决方案,以便我可以为歌曲名称和艺术家姓名设置 setAdapter。 这造成列表无法两次设置适配器的问题。所以请告诉我解决方案,以便我可以为歌曲名称和艺术家姓名设置 setAdapter。
提前谢谢你。
最佳答案
我不知道你想达到什么目的。您的两个适配器都有相同的代码。为什么不创建一个具有两个适配器值的适配器。
刚看到你编辑的问题
创建一个自定义适配器并扩充具有两个 TextView 的布局 - 一个用于艺术家,一个用于歌曲。
class TaskAdapter extends ArrayAdapter{
ArrayList artist, song;
public TaskAdapter(ArrayList songs, ArrayList artist){
this.artist = artist;
this.song = songs;
}
public TaskAdapter(Context context, int textViewResourceId ) {
super(context, textViewResourceId);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
ViewHolder holder;
if(v == null) {
LayoutInflater li = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = li.inflate(R.layout.custom_list, null);
holder = new ViewHolder();
holder.taskId = (TextView)v.findViewById(R.id....);
holder.taskDesc = (TextView)v.findViewById(R.id....);
v.setTag(holder);
}
else{
holder = (ViewHolder)v.getTag();
}
holder.tArtist.setText(artist.get(position));
holder.tSong.setText(song.get(position));
return v;
}
}
static class ViewHolder {
TextView tArtist;
TextView tSong;
}
关于android - 如何将两个适配器设置为一个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7429420/
我是一名优秀的程序员,十分优秀!