0
這是我的片段,其中提取HTML表格的某些部分的一部分:填充一個自定義的ListView項與JSOUP
public class Vertretung extends Fragment {
ArrayList<Vertretungsdaten> mData = new ArrayList<Vertretungsdaten>();
ListView mListView;
private CustomAdapter mAdapter;
//unrelevant stuff
String URL = "https://greselius.net/idesk/vplan/Anzeige/Schueler_heute/subst_001.htm";
try {
Document doc = Jsoup.connect(URL).userAgent("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; de-de) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10").get(
);
Elements questions = doc.select("table.mon_list");
Elements td = questions.select("td[align]");
for (Element myElement: td) {
Vertretungsdaten daten = new Vertretungsdaten();
daten.setKlasse(myElement.text());
daten.setStunde(myElement.text());
daten.setVertreter(myElement.text());
daten.setFach(myElement.text());
daten.setRaum(myElement.text());
daten.setLehrer(myElement.text());
daten.setArt(myElement.text());
daten.setText(myElement.text());
mData.add(daten);
}
這是我Vertretungsdaten
類:
public class Vertretungsdaten {
private String klasse;
private String stunde;
private String vertreter;
private String fach;
private String raum;
private String lehrer;
private String art;
private String text;
private int typ;
public Vertretungsdaten() {
}
public String getVertreter() {
return vertreter;
}
public void setVertreter(String vertreter) {
this.vertreter = vertreter;
}
有干將併爲每個字符串設置setter。 現在,這是我的CustomAdapter:
public class CustomAdapter extends ArrayAdapter<Vertretungsdaten> {
private ArrayList<Vertretungsdaten> objects;
public CustomAdapter(Context context, int textViewResourceId, ArrayList<Vertretungsdaten> objects) {
super(context, textViewResourceId, objects);
this.objects = objects;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.item, null);
}
Vertretungsdaten i = objects.get(position);
if (i != null) {
TextView lehrer = (TextView) v.findViewById(R.id.lehrer);
//same thing for the other textviews
lehrer.setText(i.getLehrer());
//again same thing for the other textviews
return v;
}
}
現在我有一個自定義列表視圖,應填寫這樣的:
Klasse Lehrer Fach Art
Stunde Vertreter Raum Text
Klasse Lehrer Fach Art
Stunde Vertreter Raum Text
Klasse Lehrer Fach Art
Stunde Vertreter Raum Text
但發生的事情是:
Klasse Klasse Klasse Klasse
Klasse Klasse Klasse Klasse
Stunde Stunde Stunde Stunde
Stunde Stunde Stunde Stunde
我是什麼做錯了? 在此先感謝
對不起,我忘了用final來替換問題,但這並不能解決我的問題。我編輯了我的帖子,以便您可以看到td被初始化的位置。 – user3517658