findViewById, es wird nichts gefunden

  • 7 Antworten
  • Letztes Antwortdatum
M

Martin2013

Neues Mitglied
0
Hallo,
In der Zeile:
Code:
private void init() {
        connectNew=(Button)findViewById(R.id.bConnectNew);
    }
Wird mir ein Fehler angezeigt, "bConnectNew cannot be solved or is not a field". Ich versteh aber nicht ganz warum, schließlich ist das genau die ID des Buttons.



MainActivity:
Code:
package com.example.bluetooth;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

public class MainActivity extends Activity {


    ArrayAdapter<String> listadapter;
    Button connectNew;
    ListView listview;
    

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
    }

    
    private void init() {
        connectNew=(Button)findViewById(R.id.bConnectNew);
    }


    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
activity_main.xml:

Code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    
    
    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/bConnectNew"
        android:layout_below="@+id/tvPD"
    </ListView>

    <Button
        android:id="@+id/bConnectNew"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="New" />

    <TextView
        android:id="@+id/tvPD"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="Paired Devices" />

</RelativeLayout>
 
ich bin mir grade nicht sicher, aber muss vor

Code:
ArrayAdapter<String> listadapter;
Button connectNew;
 ListView listview;
nicht immer der Prefix

Code:
private Button connectNew

bzw.

public Button connectNew
?

mfg
 
Ich weiß zwar nicht warum, aber es hat anscheinend solange gebraucht bis er den Button und die Listview in den gen Ordner übertragen hat und deswegen nichts gefunden wurde.

Jetz gehts.


@ keinbrain
eclipse schreibt automatisch public hinten drann wenn man nichts schreibt.
 
Zuletzt bearbeitet:
macht Eclipse das wirklich automatisch?
Das wäre falsch.

Man kann private, public protected oder nichts davor schreiben, das hat alles andere bedeutungen.
Wenn Eclipse da was automatisch macht ist das definitiv falsch.

Ohne speziellen modifer ist die variable paketweit sichtbar, jede Klasse im gleichen Paket kann direkt darauf zugreifen.

1.6. Modifier und Sichtbarkeit
Hier steht eine Erklärung für alle Modifier
 
Eig. wollte ich aber eine Antwort auf mein Problem, hab noch ein Programm geschrieben und nie kann ich die ID vom (R) Ordner abrufen, bzw. sie wird dort auch nciht eingetragen wenn ich z.B. ein Button in der xml erstelle. Warum ??
 
Hast du nach Umänderung der Main.xml gespeichert??? Ist oft ein Fehler.
 
Trag sie zur not doch selber ein mach ich auch ab und zu :D
 
Techniker2013 schrieb:
Hast du nach Umänderung der Main.xml gespeichert??? Ist oft ein Fehler.

Danke,

Genau den Fehler hab ich immer und immer wieder gemacht und hab mich dann gewundert warum am nächsten Tag aufeinmal der Button gefunden wird.

Einfach weil erst nach dem speichern die IDs in die R.file eingetragen werden. :cursing:
 
Zurück
Oben Unten