Thread, 2 Klassen ein Layout
Hallo zusammen,
So langsam verzweifel ich.
Mein problem ist ich habe eine kleines Programm geschrieben das ein auto steuern soll.
Zudem wird über ein Webview ein Bild angezeigt das immer neu geladen wird.
Das ganze funktioniert in einem Thread wunderbar.
Mein Problem ist aber das der Webview sich irgendwann nicht mehr neu läd.
Ich hab mich deshalb dazu entscheiden mit 2 Threads zu arbeiten.
Stark gekürzt sieht das dann so aus
Code:
public class Steuerung extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.steuerung);
Thread t1 = new Thread( new Kamera() );
t1. start();
}
}
Das funktioniert es wird das Layout steuerung geladen!
Die Klasse Kamera sieht dann so aus
Code:
public class Kamera extends Activity implements Runnable {
private WebView mWebView;
public void run() {
// public void onCreate(Bundle savedInstanceState)
// {
//
//
// super.onCreate(savedInstanceState);
// setContentView(R.layout.steuerung);
mWebView=(WebView)findViewById(R.id.webView1);
// mWebView.getSettings().setJavaScriptEnabled(true);
// mWebView.getSettings().setAllowFileAccess(true);
// mWebView.getSettings().setPluginsEnabled(true);
// mWebView.getSettings().setAllowFileAccess(true);
// mWebView.getSettings().setAppCacheEnabled(true);
// mWebView.getSettings().setDatabaseEnabled(true);
// mWebView.getSettings().setJavaScriptEnabled(true);
// mWebView.getSettings().setLoadsImagesAutomatically(true);
// mWebView.getSettings().setBuiltInZoomControls(true);
}
Wenn ich diese Zeile weglasse gibt es keinen Fehler sobald die Zeile drin ist schmiert das programm ab
Code:
mWebView=(WebView)findViewById(R.id.webView1);
Muss ich denn in der Klasse Kamera irgendwie das Layout nochmal zuweisen oder was mach ich falsch?
AW: Thread, 2 Klassen ein Layout
Ich kenne jetzt ja Java eigentlich nur vom Desktop aber dort ist es so, dass du das UI nicht aus einem anderen Thread heraus bearbeiten kannst. Willst du das trotzdem musst du einen entsprechenden Aufruf machen der dann deinen Code im UI-Thread ausführt.
Hab jetzt mal kurz gegooglet und der Bereich hier zu Worker Threads (ist ein Stück weit unten) sollte dein Problem behandeln: http://developer.android.com/guide/t...d-threads.html