Mein Problem ist, dass, wenn ich versuche, den Text von service1 und service1Health in meinem Code unter, Der Text wird nicht festgelegt. Irgendwelche Ideen, warum das passiert? service1Name und service1HealthValue haben beide gültige Zeichenfolgenwerte.Textansicht nicht Einstellung von Text in Android
public void onClick(View v)
{
switch(v.getId())
{
case R.id.loginButton:
String[] values = new String[2];
String usernameText = ((TextView) activity.findViewById(R.id.usernameTextBox)).getText().toString();
String passwordText = ((TextView) activity.findViewById(R.id.txtPasswordField)).getText().toString();
if (usernameText.length()==0 || passwordText.length()==0)
Toast.makeText(activity, "Please fill in both username and password fields", Toast.LENGTH_SHORT).show();
else
{
Toast.makeText(activity, "Connecting to server", Toast.LENGTH_LONG).show();
String loginResult = Server.login(usernameText,passwordText);
values = loginResult.split(",");
Intent i = new Intent(activity,Home.class);
activity.startActivity(i);
activity.setContentView(R.layout.home);
String service1Name = Server.getServices("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
String service1HealthValue = Server.getHealth("myservice","xxxxxxxxxxxxxxxxxxxxxxxxxxx");
TextView service1= ((TextView) activity.findViewById(R.id.serviceName1));
TextView service1Health= ((TextView) activity.findViewById(R.id.service1Health));
service1.setText(service1Name);
service1Health.setText(service1HealthValue);
}
break;
}
}
Wahrscheinlich wird nicht helfen, aber haben Sie versucht, die Textviews ungültig zu machen? Hast du überprüft, ob sie von der ID gefunden werden? Versuchen Sie, Log-Nachrichten und LogCat oder Debug zu verwenden, um zu sehen, was passiert. – Vincent
Übrigens sollten Sie in einem Listener keine Netzwerkoperationen durchführen, dafür einen neuen Thread oder eine neue asynctask starten und nach Abschluss des Vorgangs zum GUI-Thread zurückkehren. – Vincent