F
Flixius
Fortgeschrittenes Mitglied
- 4
Hallo,
ich habe möchte zum aktualisieren von Daten keine Loadinganmimation anzeigen, sondern eine Logausgabe (ähnlich wie in einer Dos-Shell) realisieren. Dazu habe ich mir von den Android ApiDemos bedient. Unter Text/LogText gibt es ein schönes Beispiel, dass ich einfach mal kopiert habe.
Leider werden bei mir die Logausgaben erst angezeigt, wenn alles durchgelaufen ist und nicht "live". In diesem Fall wird erst wenn der Download abgeschlossen ist der Inhalt der LogTextBox in der Activity dargestellt. Ich vermute es fehlt einfach so etwas wie ein refresh, das ich nach jeder ausgabe aufrufen müsste, oder?
Hier mein Code:
Die LogTextBox-Klasse leitet von TextView ab und wurde von mir 1:1 aus dem Beispiel übernommen: Android example - LogTextBox.java - android, attributeset, editable, logtextbox, override, text
obligaorisch das XML:
So sieht es im Android API Sample Code aus. Ich will aber wie gesagt nicht über einen Buttonklick die Logausgabe erweitern:
Über Hilfe wäre ich sehr dankbar!
ich habe möchte zum aktualisieren von Daten keine Loadinganmimation anzeigen, sondern eine Logausgabe (ähnlich wie in einer Dos-Shell) realisieren. Dazu habe ich mir von den Android ApiDemos bedient. Unter Text/LogText gibt es ein schönes Beispiel, dass ich einfach mal kopiert habe.
Leider werden bei mir die Logausgaben erst angezeigt, wenn alles durchgelaufen ist und nicht "live". In diesem Fall wird erst wenn der Download abgeschlossen ist der Inhalt der LogTextBox in der Activity dargestellt. Ich vermute es fehlt einfach so etwas wie ein refresh, das ich nach jeder ausgabe aufrufen müsste, oder?
Hier mein Code:
Code:
setContentView(R.layout.newversionchecker);
LogTextBox mText = (LogTextBox) findViewById(R.id.logtext);
mText.append("Starte Datenbankdownload\n");
long start1 = System.currentTimeMillis();
String s = httpHelper.GetAndroidObjectViaHttp();
mText.append("Download fertig ("+ (System.currentTimeMillis() - start1) + " ms)\n");
obligaorisch das XML:
HTML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingLeft="10dp" >
<de.fliese.LogTextBox
android:id="@+id/logtext"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:scrollbars="vertical"/>
</LinearLayout>
Code:
public class LogTextBox1 extends Activity {
private LogTextBox mText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.log_text_box_1);
mText = (LogTextBox) findViewById(R.id.text);
Button addButton = (Button) findViewById(R.id.add);
addButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mText.append("This is a test\n");
} });
}
Zuletzt bearbeitet: