M
MaxDev
Neues Mitglied
- 3
Guten Abend liebes Forum,
ich programmiere derzeit eine App für meine Schule, die den Vertretungsplan darstellen soll.
Die Daten kommen aus einer HTML Tabelle aus dem Netz (Beispiel für 5a: https://service.copernicus-gymnasium.de/vertretungsplan/schueler/w/13/w00001.htm)
Ich importiere die Daten per Jsoup aus der Tabelle, was auch wunderbar klappt. Wie man aber in dem Link sehen kann, gibt es Felder, bei denen Klasse, Datum, Stunde, ... nicht vorhanden / leer sind, weil der Vertretungstext über mehrere Zeilen geht.
In der App resultiert dass dann in leeren Spalten und der Vertretungstext wird abgehackt wiedergegeben, weil jsoup einfach das macht, was ihm gesagt wurde.
Nun stehe ich vor dem Problem, und weiß nicht, wie ich die leeren Spalten in der App unsichtbar machen kann, und den Text zusammenfügen kann, wie es eigentlich sein soll.
Ich habe als Vorlage für die bisherige Programmierung folgende Anleitung genutzt: Android JSOUP ListView Images and Texts from HTML Tables Tutorial - AndroidBegin
Ich habe euch mal ein Bild angehängt, was das alles verdeutlichen soll.
- Leere Zeilen: grün
- Vertretungstext über mehrere Zeilen: rot
An Ende sollte dann im Bild die komplette grüne Spalte verschwunden sein, und der rote Text zusammengelegt werden.
Ich hoffe mal, ihr versteht, wie ich das meine.
Meine Überlegung war jetzt, mit if-Anweisungen zu arbeiten, die dann die Zeile ausblendet, wenn z.B. der Eintrag bei Tag oder Stunde leer ist - nur wie klappt das?
ich programmiere derzeit eine App für meine Schule, die den Vertretungsplan darstellen soll.
Die Daten kommen aus einer HTML Tabelle aus dem Netz (Beispiel für 5a: https://service.copernicus-gymnasium.de/vertretungsplan/schueler/w/13/w00001.htm)
Ich importiere die Daten per Jsoup aus der Tabelle, was auch wunderbar klappt. Wie man aber in dem Link sehen kann, gibt es Felder, bei denen Klasse, Datum, Stunde, ... nicht vorhanden / leer sind, weil der Vertretungstext über mehrere Zeilen geht.
In der App resultiert dass dann in leeren Spalten und der Vertretungstext wird abgehackt wiedergegeben, weil jsoup einfach das macht, was ihm gesagt wurde.
Nun stehe ich vor dem Problem, und weiß nicht, wie ich die leeren Spalten in der App unsichtbar machen kann, und den Text zusammenfügen kann, wie es eigentlich sein soll.
Ich habe als Vorlage für die bisherige Programmierung folgende Anleitung genutzt: Android JSOUP ListView Images and Texts from HTML Tables Tutorial - AndroidBegin
Ich habe euch mal ein Bild angehängt, was das alles verdeutlichen soll.
- Leere Zeilen: grün
- Vertretungstext über mehrere Zeilen: rot
An Ende sollte dann im Bild die komplette grüne Spalte verschwunden sein, und der rote Text zusammengelegt werden.
Ich hoffe mal, ihr versteht, wie ich das meine.
Meine Überlegung war jetzt, mit if-Anweisungen zu arbeiten, die dann die Zeile ausblendet, wenn z.B. der Eintrag bei Tag oder Stunde leer ist - nur wie klappt das?
Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/art"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/datumlabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/art"
android:text="@string/datumlabel" />
<TextView
android:id="@+id/datum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/datumlabel" />
<TextView
android:id="@+id/stdlabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/datum"
android:text="@string/stdlabel" />
<TextView
android:id="@+id/std"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/stdlabel" />
<TextView
android:id="@+id/stdlabel2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/std"
android:text="@string/stdlabel2"/>
<TextView
android:id="@+id/fachlabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/art"
android:text="@string/fachlabel" />
<TextView
android:id="@+id/fach"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/datumlabel"
android:layout_toRightOf="@+id/fachlabel" />
<TextView
android:id="@+id/raumlabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/fach"
android:layout_below="@+id/datum"
android:text="@string/raumlabel" />
<TextView
android:id="@+id/raum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/stdlabel"
android:layout_toRightOf="@+id/raumlabel" />
<TextView
android:id="@+id/fach2label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/fachlabel"
android:text="@string/fach2label" />
<TextView
android:id="@+id/fach2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/fach"
android:layout_toRightOf="@+id/fach2label" />
<TextView
android:id="@+id/vertretungstextlabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/fach2label"
android:text="@string/vertretungstextlabel" />
<TextView
android:id="@+id/vertretungstext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/fach2"
android:layout_toRightOf="@+id/vertretungstextlabel" />
</RelativeLayout>
Code:
package com.maxdev.copgymvertretung;
import com.maxdev.copgymvertretung.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class SingleItemView extends Activity {
// Declare Variables
String kl;
String datum;
String std;
String fach;
String raum;
String art;
String fach2;
String vertretungstext;
String position;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the view from singleitemview.xml
setContentView(R.layout.singleitemview);
Intent i = getIntent();
// Get the result of rank
//kl = i.getStringExtra("kl");
datum = i.getStringExtra("datum");
std = i.getStringExtra("std");
fach = i.getStringExtra("fach");
raum = i.getStringExtra("raum");
art = i.getStringExtra("art");
fach2 = i.getStringExtra("fach2");
vertretungstext = i.getStringExtra("vertretungstext");
// Locate the TextViews in singleitemview.xml
//TextView txtkl = (TextView) findViewById(R.id.kl);
TextView txtdatum = (TextView) findViewById(R.id.datum);
TextView txtstd = (TextView) findViewById(R.id.std);
TextView txtfach = (TextView) findViewById(R.id.fach);
TextView txtraum = (TextView) findViewById(R.id.raum);
TextView txtart = (TextView) findViewById(R.id.art);
TextView txtfach2 = (TextView) findViewById(R.id.fach2);
TextView txtvertretungstext = (TextView) findViewById(R.id.vertretungstext);
// Set results to the TextViews
//txtkl.setText(kl);
txtdatum.setText(datum);
txtstd.setText(std);
txtfach.setText(raum);
txtraum.setText(fach);
txtart.setText(art);
txtfach2.setText(fach2);
txtvertretungstext.setText(vertretungstext);
}
}