我使用了这样的构造函数:
public class CustomList extends ArrayAdapter<String> {
private String[] ids;
private String[] names;
private String[] urls;
private String[] fileTypes;
private String[] date_times;
private Activity context;
public CustomList(Activity context, String[] ids, String[] names, String[] str_url,String[] fileType ,String[] dateTime){
super(context, R.layout.list_view_layout, ids);
this.context = context;
this.ids = ids;
this.names = names;
this.urls = str_url;
this.fileTypes = fileType;
this.date_times = dateTime;
}
能够像这样的主要活动使用这个类
CustomList cl = new CustomList(this, ParseJSON.ids,ParseJSON.names,ParseJSON.url,ParseJSON.file_type,ParseJSON.uploaded_at);
但每当我试图传递构造函数的第一个参数“this”错误消息显示。那么每当从片段
使用该calass时,第一个参数是什么这实际上是我在片段
中所做的if (arrayListPollingSite.size() > 0) {
int pollingSiteCount = arrayListPollingSite.size();
pollingSiteNameArray = new String[pollingSiteCount];
HashMap<String, String> pollDataMap = new HashMap<String, String>();
for (int i = 0; i < pollingSiteCount; i++) {
pollDataMap = arrayListPollingSite.get(i);
pollingSiteNameArray[i] = pollDataMap.get(i);
// this line showing error
CustomList c1=new CustomList(getActivity(),pollDataMap.get(Constants.KEY_COUNTY_ID),pollDataMap.get(Constants.KEY_COUNTY_ID),pollDataMap.get(Constants.KEY_COUNTY_ID),pollDataMap.get(Constants.KEY_COUNTY_ID),pollDataMap.get(Constants.KEY_COUNTY_ID));
}
// listView.setAdapter(cl);
}
答案 0 :(得分:1)
&#39;这&#39;总是意味着当前的背景。 片段的上下文和活动的上下文是不同的。
因此您应该将活动的上下文提供给构造函数:try&#39; getActivity()&#39;
答案 1 :(得分:1)
您可以从Activity类调用this
。
但是在片段中,您必须使用getActivity()
调用包含此片段的活动,如下所示:
CustomList cl = new CustomList(getActivity(), ParseJSON.ids,
ParseJSON.names,ParseJSON.url,ParseJSON.file_type,
ParseJSON.uploaded_at);
Harunduet说: 我按照以下方式尝试过;
pollingSiteNameArray = new String[pollingSiteCount];
CustomList c1=new CustomList(getActivity(),pollingSiteNameArray[1],pollingSiteNameArray[2],pollingSiteNameArray[3],pollingSiteNameArray[4],pollingSiteNameArray[5]);
显示错误
Harunduet说:
if (arrayListPollingSite.size() > 0) {
int pollingSiteCount = arrayListPollingSite.size();
pollingSiteNameArray = new String[pollingSiteCount];
HashMap<String, String> pollDataMap = new HashMap<String, String>();
for (int i = 0; i < pollingSiteCount; i++) {
pollDataMap = arrayListPollingSite.get(i);
pollingSiteNameArray[i] = pollDataMap.get(i);
// this line showing error
CustomList c1=new CustomList(getActivity(),pollDataMap.get(Constants.KEY_COUNTY_ID),pollDataMap.get(Constants.KEY_COUNTY_ID),pollDataMap.get(Constants.KEY_COUNTY_ID),pollDataMap.get(Constants.KEY_COUNTY_ID),pollDataMap.get(Constants.KEY_COUNTY_ID));
}
// listView.setAdapter(cl);
}
你在哪里执行此代码?尝试转移到片段中的onActivityCreated
方法。
答案 2 :(得分:0)
time user B C
1: 1 1 t 1
2: 2 1 f 1
3: 3 1 t 2
4: 1 2 f 0
5: 1 3 f 0
6: 2 3 t 1
7: 3 3 t 2
8: 1 4 t 1
9: 2 4 t 2
10: 1 5 t 1