Hallo,
ich habe mal wieder ein Problem mit meiner Server- Client- Anwendung.
Ich empfange in meiner Main Activity (Start), mit Hilfe eines Handlers, wechselnde Daten vom Server.
Diese kann ich mir auch Problemlos anzeigen lassen.
Nun möchte ich meine Anwendung um eine weitere Activity (Anzeige) erweitern und die wechselnden Daten dorthin übergeben.
Ich habe es versucht so zu realisieren:
Start (Main Activity)
public class Start extends Activity
{
final Handler myHandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
String s = (String)msg.obj;
uebergabe(s);
}
};
public void uebergabe(String s)
{
Intent in = new Intent(Start.this,Anzeige.class);
in.putExtra("string", s);
startActivity(in);
finish();
}
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.start_main);
Verbindung verbindung = new Verbindung(myHandler);
verbindung.start();
}
}
Alles anzeigen
In der zweiten Activity will ich mir nun die wechselnden Daten in einem TextView anzeigen lassen.
Das habe ich so realisiert:
public class Anzeige extends Activity
{
private static TextView text;
String s;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.anzeige_main);
text = (TextView) findViewById(R.id.text);
if(getIntent().hasExtra("string") == true)
{
s = getIntent().getExtras().getString("string");
}
text.setText(s);
}
}
Alles anzeigen
Das Problem liegt jetzt darin, dass immer wieder die Activity Anzeige aufgerufen wird wenn sich die Daten im Handler ändern.
(Wenn ich die App beenden möchte muss ich erst x Seiten schließen um diese zu beenden)
Frage:
Ist Intent der richtige Gedanke?
Wie kann ich aus der Activity Start einmalig die zweite Activity aufrufen und (im Hintergrund) die wechselnden Daten übergeben?
Gruß
Brausebernd