【发布时间】:2020-11-29 05:44:00
【问题描述】:
我只会说一点英语.. 我用 sqlite db 制作了 listview。 我要实现这个功能
例如)
-
我有 sqlite db(带有 listview。我已经制作了。并且 listview 有按钮) 行 ID 1、2、3 数字 0, 1, 0
-
我需要这样的
如果(数字== 0){ button.backgroundResource(R.drawble.icon1); }否则如果(数字== 1){ button.backgroundResource(R.drawble.icon2); }
附上图片,方便理解。
这是我的列表适配器
public class ListAdapter extends BaseAdapter implements View.OnClickListener {
public interface ListBtnClickListener {
void onListBtnClick(int position, View view);
}
public ListAdapter(Context mContext, ArrayList<SongList> mList, ListBtnClickListener clickListener) {
this.mContext = mContext;
this.mList = mList;
this.listBtnClickListener = clickListener;
layoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mSelectedItemsIds = new SparseBooleanArray();
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
View view = convertView;
if (view == null) {
viewHolder = new ViewHolder();
view = layoutInflater.inflate(R.layout.list_item, null);
viewHolder.relativeLayout = (RelativeLayout) view.findViewById(R.id.listview_item);
view.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) view.getTag();
}
_url = (TextView) view.findViewById(R.id.song_url);
_name = (TextView) view.findViewById(R.id.song_name);
_time = (TextView) view.findViewById(R.id.song_time);
_img = (ImageView) view.findViewById(R.id.song_thumbnail);
favorite = (Button) view.findViewById(R.id.favorite);
Bitmap bitmap = BitmapFactory.decodeByteArray(mList.get(position).get_img(), 0, mList.get(position).get_img().length);
_img.setImageBitmap(bitmap);
final SongList listViewItem = mList.get(position);
if (mList != null) {
_url.setText(listViewItem.get_url());
_name.setText(listViewItem.get_name());
_time.setText(listViewItem.get_time());
}
final SongList songList = mList.get(position);
favorite.setTag(position);
favorite.setOnClickListener(this);
return view;
}
@Override
public void onClick(View view) {
if (this.listBtnClickListener != null) {
this.listBtnClickListener.onListBtnClick((int) view.getTag(), view);
}
}
public class ViewHolder {
private RelativeLayout relativeLayout = null;
}
}
【问题讨论】: