Nein, ich hatte es ja hinbekommen, dass Zahlen von 10 bis 0 im Sekundentakt heruntergezählt werden.
Was mir fehlt ist das Verständnis der Zusammenhänge mit dem SurfaceHolder.
Gruß Ralf.
Nein, ich hatte es ja hinbekommen, dass Zahlen von 10 bis 0 im Sekundentakt heruntergezählt werden.
Was mir fehlt ist das Verständnis der Zusammenhänge mit dem SurfaceHolder.
Gruß Ralf.
Hallo,
ich möchte, daß zur Laufzeit in gewissen Abständen Linien nacheinander und für den Benutzer sichtbar gezeichnet werden.
Bisher ist es mir nur gelungen, die Grafik mittels des folgenden Quelltextauszugs im "onCreate" der Activity anzeigen zu lassen.
package de.cssenior.zeichne1;
public class zeichner extends View {
private int x;
private int y;
private Canvas mCanvas;
Paint paint = new Paint();
public void Das() {
mCanvas.drawLine(0, y, x, y, paint); //Das
}
public void ist() {
mCanvas.drawLine(x, y, x, y/2, paint); //ist
}
// (......)
@Override
protectedvoid onDraw(Canvas canvas) {
// TODO Auto-generated method stubsuper.onDraw(canvas);
paint.setColor(Color.RED);
x=getWidth()-1;y=getHeight()-1;mCanvas = canvas;
Das();
ist();
das();
Haus();
vom();
Ni();
Ko();
Laus();
}
Alles anzeigen
In der main.xml-Layoutdatei der Activity binde ich die Grafik so ein:
<de.cssenior.zeichne1.zeichner
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</de.cssenior.zeichne1.zeichner>
Um die einzelnen Linien der Zeichnung in zeitlichen Abständen zu zeichnen, müßte ich sicherlich die AsyncTask-Klasse erweitern;
prinzipiell habe ich es auch schon hinbekommen mit einer von der AsyncTask-Klasse abgeleiteten Klasse zu arbeiten, indem ich eine Activity geschrieben habe, welche die Zahlen von 10 bis 0 herunterzählt und in Sekundenabständen in einem TextView ausgibt (mittels der setText-Methode innerhalb onProgressUpdate).
Soweit mir bekannt ist muß ich einen SurfaceHolder dafür verwenden, aber als Anfänger verstehe ich die Zusammenhänge noch nicht.
Könnte mir jemand ein kurzes Beispielprogramm schreiben, das nichts anderes tut, als nach dem Start in die Activity im Abstand von je einer Sekunde zwei bis drei Linien zu zeichnen?
Danke im Vorraus!
Ralf Kirschner
Das hatte ich auch schon als Ursache vermutet, aber
1.) beispielsweise bei normalen Textfeldern funktioniert es auch so, ohne dass der Inhalt verloren geht.
2.) bei den Minuten des TimePicker-Dialogs und beim DatePicker-Dialog gibt es dieses Problem nicht.
3.) selbst wenn ich im onPause() über SharedPreferences den Stundenwert abspeichere und im onCreate() nach dem "setContentView" mittels der setCurrentHour-Methode des TimePicker wieder einlese und setze klappt es nicht: die Stundenwerte werden nicht angezeigt, während die Minuten korrekt sind.
Hallo,
ich habe die folgenden beiden XML-Layout-Files (layout/main.xml und layout-land/main.xlm) erstellt:
<?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" >
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Alles anzeigen
sowie
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Alles anzeigen
Die App besitzt außer dem bereits vom Eclipse-ADT-Assistenten zunächst keinen weiteren Programmcode.
Beim Start der app scheint zunächst alles OK, doch wenn ich das Smartphone drehe, verschwinden die Stunden.
Was mache ich falsch?
Gruß
Ralf Kirschner