1. Nimm jetzt an unserem Geotel Note - Gewinnspiel teil - Informationen zum Note findest Du hier!
  1. ripperle, 27.03.2011 #1
    ripperle

    ripperle Threadstarter Neuer Benutzer

    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!

    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;
                }
            }
        };
    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 :thumbsup:

    Gruß und danke für die Hilfe
    ripperle
     
  2. swordi, 27.03.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    findviewbyid funktioniert erst nach einem setcontentview

    nur eine vermutung. ist ja nur ein teil vom code
     
  3. ripperle, 27.03.2011 #3
    ripperle

    ripperle Threadstarter Neuer Benutzer

    aja ok wurde deshalb im beispielcode mit dem arrayadapter gearbeitet?!?

    welche möglichkeit habe ich denn wenn ich dieses TextView bearbeiten will, also bezüglich übergabe oder sowas?!?
     
  4. swordi, 28.03.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    ich wüsste nicht was der arrayadapter mit deinem textfeld zu tun hat.

    developer.android.com

    da werden sie geholfen :) viel lesen und grundlagen lernen ist bei dir im moment glaub ich gefragt.
     
  5. ripperle, 28.03.2011 #5
    ripperle

    ripperle Threadstarter Neuer Benutzer

    also hab nochmal bei der develepor Seite nachgelesen.... die findviewbyid methode muss in der gleichen klasse aufgerufen werden... will man Klassen übergreifend auf das Objekt zugreifen Soll man des mit dem handler machen...

    kann mir da jemand ein nettes tutorial. oder so nennen wie manmit diesem handler umgeht???

    danke ripperle
     
  6. v Ralle v, 28.03.2011 #6
    v Ralle v

    v Ralle v Android-Lexikon

Die Seite wird geladen...
Ähnliche Themen - findViewById() Problem Forum Datum
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung Heute um 08:19 Uhr
[OFFEN] WebView Probleme Android App Entwicklung Freitag um 23:26 Uhr
[ERLEDIGT] Problem mit Async Task und auszuführender Aufgabe Android App Entwicklung 02.05.2017
[ERLEDIGT] Probleme mit Wear Modul Android App Entwicklung 01.05.2017
[OFFEN] Probleme mit SearchView in ArrayAdapter Android App Entwicklung 28.04.2017
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017
Verständnisprobleme beim Layout Android App Entwicklung 21.02.2017
Probleme beim Encoding einer Textdatei von Windows Android App Entwicklung 25.01.2017
Probleme mit NFC File Transfer Android App Entwicklung 21.01.2017
Layout-Probleme auf verschiedenen Geräten Android App Entwicklung 19.01.2017