【发布时间】:2013-08-26 17:03:12
【问题描述】:
我对这段代码有疑问:
public void calendarview()
{
lv = (ListView) findViewById(R.id.calendarlist);
SharedPreferences pref = getApplicationContext().getSharedPreferences(
"animobile", MODE_PRIVATE);
int size = pref.getInt("clength", 0);
String cdate[] = new String[size];
String cevent[] = new String[size];
for(int i=0;i<size;i++){
cdate[i] = pref.getString("cdate" + i, null);
cevent[i] = pref.getString("cdate" + i, null);
}
Log.w("athan","kalendaryo"+size);
ArrayAdapter<String> arrayAdapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, cdate);
lv.setAdapter(arrayAdapter);
}
使用 lv 作为列表视图,如下所示:
private ListView lv;
现在的问题是,我有这个数组 cdate 和 cevent,我希望将它们列在 arrayadapter 上,但 arrayadapter 只接受一个 arraylist。
我还阅读了许多其他相关问题,但我最终得到的只是相同的答案,“你必须制作一个自定义适配器”。但是使用此代码,是否可以使用自定义适配器?代码在:
public class calendarview extends Activity {
编辑: 我还是卡住了,我像 trevor-e 说的那样创建了一个类,这是代码:
class Event {
private String cdate;
private String cevent;
public Event(String date, String event) {
this.cdate = date; this.cevent = event;
}
public void setcdate(String cdate) {
this.cdate = cdate;
}
public void setcevent(String cevent) {
this.cevent = cevent;
}
public String cevent() {
return cevent;
}
public String cdate() {
return cdate;
}
//getters and setters
}
ArrayAdapter 改为:
ArrayAdapter<Event> arrayAdapter =
new ArrayAdapter<Event>(this,android.R.layout.simple_list_item_1);
现在代码没有给出任何值。我错过了什么?感觉就像我必须将数组设置到此类中,但我不知道如何。
【问题讨论】:
标签: android arrays listview android-listview