在ArrayAdapter中传递任何类名,可以通过以下步骤完成:
public class ClassNameAdapter extends ArrayAdapter<CustomClass> {
private Context mContext;
private List<CustomClass> mClassList;
public ClassNameAdapter(Context context, int resource, List<CustomClass> classList) {
super(context, resource, classList);
mContext = context;
mClassList = classList;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(android.R.layout.simple_list_item_1, parent, false);
}
CustomClass customClass = mClassList.get(position);
TextView textView = convertView.findViewById(android.R.id.text1);
textView.setText(customClass.getClassName());
return convertView;
}
}
List<CustomClass> classList = new ArrayList<>();
classList.add(new CustomClass("ClassName1"));
classList.add(new CustomClass("ClassName2"));
classList.add(new CustomClass("ClassName3"));
ClassNameAdapter adapter = new ClassNameAdapter(context, android.R.layout.simple_list_item_1, classList);
在上述代码中,CustomClass是前面自定义的类,其中包含一个用于存储类名的变量。ClassNameAdapter是继承自ArrayAdapter的自定义适配器类,负责将类名显示在ListView或Spinner中的列表项上。
这种方式可以适用于传递任何类名,你只需在自定义的类中增加对应的变量和方法即可。在实际应用中,可以根据需求对适配器进行进一步定制,例如自定义列表项布局和点击事件等。
腾讯云相关产品和产品介绍链接地址请参考腾讯云官方文档:https://cloud.tencent.com/document/product/302/5819
领取专属 10元无门槛券
手把手带您无忧上云