R
ripperle
Neues Mitglied
- 0
Hallo,
leider findet besagte funktion kein objekt wenn ich Sie in einer anderen Klasse aufrufe.
Habe das BluetoothChat Sample Programm für meine Anwendung genommen welches auch soweit funktioniert (Verbindung herstellen und Zeichen vom PC an das Handy senden). Nun möchte ich das empfangene in ein TextView schreiben, welches sich in einer ANDEREN klasse befindet!
Hier ist die Funktion vom BluetoothChat programm. Ursprünglich wurde beim Empfang von Daten mit einem ArrayAdapter gearbeitet. Ich möchte aber lediglich den Empfangenen Text in ein TextView schreiben.
Zum testen will ich "hugo" rein schreiben, aber dass geht nicht da findViewById(R.string.TextView_Output) NULL zurück gibt.
Wenn ich diese Funktion in der Klasse aufrufe, in der das TextView Objekt liegt funktioniert alles...
Es liegt warscheinlich an irgendwelchen public oder privat geschichten, aber das könnt Ihr mir bestimmt besser erklären
Gruß und danke für die Hilfe
ripperle
leider findet besagte funktion kein objekt wenn ich Sie in einer anderen Klasse aufrufe.
Habe das BluetoothChat Sample Programm für meine Anwendung genommen welches auch soweit funktioniert (Verbindung herstellen und Zeichen vom PC an das Handy senden). Nun möchte ich das empfangene in ein TextView schreiben, welches sich in einer ANDEREN klasse befindet!
Code:
private final Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE_STATE_CHANGE:
if(D) Log.i(TAG, "MESSAGE_STATE_CHANGE: " + msg.arg1);
switch (msg.arg1) {
case BluetoothChatService.STATE_CONNECTED:
//mTitle.setText(R.string.title_connected_to);
//mTitle.append(mConnectedDeviceName);
//mConversationArrayAdapter.clear();
//mConversationView.setText("");
break;
case BluetoothChatService.STATE_CONNECTING:
//mTitle.setText(R.string.title_connecting);
break;
case BluetoothChatService.STATE_LISTEN:
case BluetoothChatService.STATE_NONE:
//mTitle.setText(R.string.title_not_connected);
break;
}
break;
case MESSAGE_WRITE:
byte[] writeBuf = (byte[]) msg.obj;
// construct a string from the buffer
String writeMessage = new String(writeBuf);
//mConversationArrayAdapter.add("Me: " + writeMessage);
break;
case MESSAGE_READ:
byte[] readBuf = (byte[]) msg.obj;
// construct a string from the valid bytes in the buffer
String readMessage = new String(readBuf, 0, msg.arg1);
//mConversationArrayAdapter.add(mConnectedDeviceName+": " + readMessage);
[B] TextView textviewx = (TextView) findViewById(R.string.TextView_Output);
textviewx.setText("hugo");[/B]
break;
case MESSAGE_DEVICE_NAME:
// save the connected device's name
mConnectedDeviceName = msg.getData().getString(DEVICE_NAME);
Toast.makeText(getApplicationContext(), "Connected to "
+ mConnectedDeviceName, Toast.LENGTH_SHORT).show();
break;
case MESSAGE_TOAST:
Toast.makeText(getApplicationContext(), msg.getData().getString(TOAST),
Toast.LENGTH_SHORT).show();
break;
}
}
};
Zum testen will ich "hugo" rein schreiben, aber dass geht nicht da findViewById(R.string.TextView_Output) NULL zurück gibt.
Wenn ich diese Funktion in der Klasse aufrufe, in der das TextView Objekt liegt funktioniert alles...
Es liegt warscheinlich an irgendwelchen public oder privat geschichten, aber das könnt Ihr mir bestimmt besser erklären
Gruß und danke für die Hilfe
ripperle