1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung 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 Forum Datum
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
[ERLEDIGT] Problem mit Async Task und auszuführender Aufgabe Android App Entwicklung 02.05.2017
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017
Excel Dokument mithilfe von JExcelAPI auslesen funktioniert nicht :/ Android App Entwicklung 02.03.2017
Notizen App problem Android App Entwicklung 11.01.2017
Text View erzeugt rendering Problem Android App Entwicklung 18.11.2016
Problem bei OpenGL. Es wird nicht alles gerendert. Android App Entwicklung 05.11.2016
Du betrachtest das Thema "findViewById() Problem" im Forum "Android App Entwicklung",