Threads 2 Klassen 1 Layout

A

Apfel3

Neues Mitglied
0
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?
 
gibts denn im layout steuerung eine webview1 ? ?
 
Ja gibt es leider.
Stimmt das denn mit den Threads so?
Kann man mit 2 klasen auf ein layout zugreifen?

Danke schonmal fürs Helfen :)
 
achso

nein das ist blödsinn.

dein thread führt zwar das runnable aus, aber kennt ja die webview nicht, da oncreate nicht ausgeführt wurde.

du hast eine activity - möchtest diese aber im thread ausführen. das passt nicht
 
Danke zum 2. :)

onCreate wird ja in der Klasse Steuerung aufgerufen.
Du hast natürlich recht die Klasse Kamera kennt sie dann nicht.

Wie kann ich denn dafür sorgen das die Klasse Kamera auch auf das Layout zugreifen kann.

Ich kann ja in der Klasse Kamera nicht nochmal onCreate machen !?
 
naja du hast irgendwo einen extremen denkfehler

wenn du das layout der 2. activity in der ersten brauchst, dann schreibst doch dort rein.

weiß nicht für was du dann ein 2. layout brauchst, wenn du die activity nicht aufrufst.

versuch nochmal den aufbau einer app zu verstehen, da hast glaub ich noch defizite
 
Hmm kann schon sein das ich grad ein Riesen Denkfehler habe.

Eigentlich wollte ich mit der Klasse Steuerung die Buttons steuern die Verbindung zum Auto aufbauen.

In dem zweiten Thread ( Klasse Kamera ) das Webview ständig aktualisieren.

Somit würden die Klasse Steuerung und die Klasse Kamera auf das selbe Layout zugreifen.

Ich brauche also kein 2. Layout sondern will nur eins
 
ja prinzipiell nicht schlecht der aufbau

aber was du klasse nennst, sollte eine klasse sein und nicht jeweils eine activity.

activity ist immer etwas, was etwas darstellt. eine klasse in dem sinn etwas, die etwas macht
 

Ähnliche Themen

L
Antworten
4
Aufrufe
1.338
lonnie9020
L
A
Antworten
1
Aufrufe
882
koje71
koje71
R
  • RalfKahl
Antworten
4
Aufrufe
185
RalfKahl
R
Zurück
Oben Unten