R.java und 'R.id'

  • 3 Antworten
  • Letztes Antwortdatum
G

gantherfr

Neues Mitglied
0
Hi,

bin gerade das erste Mal dabei, etwas mit der App-Programmierung mit dem ADT bzw. Eclipse zu hantieren.

Wie ich mich schon informiert habe, wurde mein Problem bereits unzählige Male im Internet behandelt - doch irgendwie hilft nichts einziges, was ich darüber gefunden habe.

- Project Clean durchgeführt
- Neustart durchgeführt
- Build Automatically ein-/ausgeschaltet

Und mit dem "import Android.R" habe ich bislang nichts in meinem Projekt gesehen.
Hat auch nichts geholfen, wenn ich es nachträglich importiert habe.

Der Code:

Code:
public MediaPlayer mp;
	Button sound1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
        
       sound1 = (Button) findViewById(R.id.[COLOR="Red"][U]sound1[/U][/COLOR]);	
       
       sound1.setOnClickListener(new OnClickListener() {
    	   public void onClick (View v) {
    		   MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.sound1);
    		   mp.start();
    	   }
    	   
       
    });
       
    }

Das entsprechend unterstrichene wird mit dem Fehler "sound1 cannot be resolved or is not a field" beanstandet.
Die R.java kann man nicht bearbeiten und da steckt auch sehr wahrscheinlich der Fehler:

Code:
public static final class id {
        public static final int action_settings=0x7f090002;
        public static final int button1=0x7f090001;
        public static final int container=0x7f090000;
    }

Denn der "sound1" muss ja in die ID-Liste (class id {}) eingefügt werden.

Und genau da komme ich nicht mehr weiter...

Gruß
 
Hi,

hast du denn einen Button "sound" in deiner layout_main.xml definiert?
 
Der Button in der XML lautet "button1". Also entweder R.id.button1 verwenden oder in der XML aus button1 ein sound1 machen.

Die R-Klasse wird automatisch generiert, da pfuscht man nicht manuell irgendetwas rum ;)


Hier mal noch etwas zum Nachlesen: http://developer.android.com/guide/topics/resources/accessing-resources.html (behandelt zwar Ressourcen, aber das mit den IDs läuft eigtl. gleich ab)
 
Ergänzend:
Wie säubert man seine Ressourcen:
1. Sicherung des Projekts
2. Löschen der unnötigen (nicht genutzten) IDs
3. Löschen der R.java
4. Build/Clean Projekt
(5.: im besten Fall kann jetzt die Sicherung des Projekts (Schritt 1.) ebenfalls gelöscht werden) :)

PS: für Schritt 2 kann man sich gerne etwas Zeit einplanen...
 
Zurück
Oben Unten