このコードに問題があります:
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は1つのarraylistしか受け入れません。
私は他の関連する質問もたくさん読みましたが、「カスタムアダプターを作成する必要がある」という同じ答えしかありません。しかし、このコードでは、カスタムアダプターで可能ですか? コードは次の内部にあります。
public class calendarview extends Activity {
編集:私はまだ立ち往生しています、私はトレバー-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);
現在、コードは値を与えていません。私は何かが欠けていますか?このクラスに配列を設定する必要があるように感じますが、方法がわかりません。