- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 ArrayList 填充 ListView
这是我的代码:
ArrayList<Contact> results = mapper.readValue(response.toString(),
new TypeReference<ArrayList<Contact>>() { } );//results are coming OK
ContactsAdapter adapter = new ContactsAdapter(this, R.layout.list_view_items, results);//error is here
这是我的自定义适配器类,及其各自的构造函数:
public class ContactsAdapter extends ArrayAdapter<Contact> {
ArrayList<Contact> contactList = new ArrayList<>();
public ContactsAdapter(Context context, int textViewResourceId, ArrayList<Contact> objects) {
super(context, textViewResourceId, objects);
contactList = objects;
}
@Override
public int getCount() {
return super.getCount();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.list_view_items, null);
TextView contactTextView = (TextView) v.findViewById(R.id.contactTextView);
TextView phoneTextView = (TextView) v.findViewById(R.id.phoneTextView);
ImageView imageView = (ImageView) v.findViewById(R.id.smallImageView);
contactTextView.setText(contactList.get(position).getName());
phoneTextView.setText(contactList.get(position).getPhone().toString());
//imageView.setImageResource(animalList.get(position).getAnimalImage());
return v;
}
}
错误:
Error:(58, 51) error: constructor ContactsAdapter in class ContactsAdapter cannot be applied to given types; required: Context,int,ArrayList found: >,int,ArrayList reason: actual argument > cannot be converted to Context by method invocation conversion
我的数据是从一个 jSON 中抓取的,它被声明为 ArrayList。我已经尝试了一些方法,比如修改构造函数,但我没有让它工作,我被卡住了。
提前致谢!
最佳答案
Error:(58, 51) error: constructor ContactsAdapter in class ContactsAdapter cannot be applied to given types; required: Context,int,ArrayList<Contact> found: <anonymous Listener<JSONArray>>,int,ArrayList<Contact> reason: actual argument <anonymous Listener<JSONArray>> cannot be converted to Context by method invocation conversion
你的 Adapter
构造函数调用显然是在一个匿名类中,所以 this
指的是那个匿名类,而不是你需要的 Context
第一个参数。如果该代码在 Activity
中,只需将 Activity
名称添加到 this
之前;例如,MyActivity.this
。
ContactsAdapter adapter = new ContactsAdapter(MyActivity.this,
R.layout.list_view_items,
results);
关于Android:类 ContactsAdapter 中的构造函数 ContactsAdapter 不能应用于给定类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38680149/
我正在尝试用 ArrayList 填充 ListView 这是我的代码: ArrayList results = mapper.readValue(response.toString(),
我是一名优秀的程序员,十分优秀!