gpt4 book ai didi

android - 如何为您的 Adapter 选择最佳构造函数?

转载 作者:行者123 更新时间:2023-11-29 23:29:34 26 4
gpt4 key购买 nike

正在研究 Array 适配器,并在线找到了在扩展 ArrayAdapter 的 Adapter 类中创建结构的不同方法。我很困惑,但我的研究把我带到了

https://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter(android.content.Context,%20int)

看完后,并没有消除我的模糊。所以我的问题是,如果我有:

  1. 两个 TextView 和一个 ImageView
  2. 在布局中使用两个 ImageView 和一个 TextView

最佳答案

我建议你看看BaseAdapter。它清晰且易于实现。当你开始在几个例子中使用它时,你会喜欢上它。我将放置一个示例适配器,它是实现基础适配器。它还包括用于性能的 View 持有者模式。

public class CustomListViewAdapter extends BaseAdapter {

private Context context;
private List<Object> objectList;

public CustomListViewAdapter(Context context, List<Object> objectList) {
this.context = context;
this.objectList = objectList;
}

@Override
public int getCount() {
return objectList.size();
}

@Override
public Object getItem(int position) {
return objectList.get(position);
}

@Override
public long getItemId(int position) {
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
Object object = getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.custom_list_row, null);

holder = new ViewHolder();
holder.textProperty = convertView.findViewById(R.id.text_property);
holder.imageProperty = convertView.findViewById(R.id.image_property);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

holder.textProperty.setText(object.getDisplayName());
holder.imageProperty.setBackgroundResource(object.checkForSomething() ? R.mipmap.first_image:R.mipmap.second_image);
return convertView;
}

static class ViewHolder{
private TextView textProperty;
private ImageView imageProperty;

}
}

关于android - 如何为您的 Adapter 选择最佳构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52872328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com