Klasse R

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Java-Quellcode

    1. protected void onCreate(Bundle savedInstanceState {
    2. super.onCreate(savedInstanceState);
    3. setContentView(R.layout.activity_main);
    4. }
    Kann mir jemand erklären, was es mit dieser Klasse R auf sich hat?
    Ich lerne nämlich gerade mit Hilfe einer PDF Android Studio kennen, und habe ein Beispielprogramm aus der PDF ausprobiert:


    Java-Quellcode

    1. public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    2. @Override
    3. protected void onCreate(Bundle savedInstanceState) {
    4. super.onCreate(savedInstanceState);
    5. setContentView(R.layout.activity_main);
    6. Button button = findViewById(R.id.button);
    7. button.setOnClickListener(this);
    8. }
    9. @Override
    10. public void onClick(View v) {
    11. EditText etZaehler = findViewById(R.id.zaehler);
    12. EditText etNenner = findViewById(R.id.nenner);
    13. int z = Integer.parseInt(etZaehler.getText().toString());
    14. int n = Integer.parseInt(etNenner.getText().toString());
    15. if (z*n != 0) {
    16. int rest;
    17. int ggt = Math.abs(z);
    18. int divisor = Math.abs(n);
    19. do {
    20. rest = ggt % divisor;
    21. ggt = divisor;
    22. divisor = rest;
    23. } while (rest > 0);
    24. z /= ggt;
    25. n /= ggt;
    26. }
    27. etZaehler.setText(Integer.toString(z));
    28. etNenner.setText(Integer.toString(n));
    29. }
    30. }
    Alles anzeigen
    Mit Hilfe der App soll ein Bruch so weit wie möglich gekürzt werden. Ich verstehe zwar den Code, aber diese Klasse R wird in dem Programm auf einmal rot und Android Studio sagt mir "Cannot resolve symbol R". Woher kommt diese Klasse also und wieso erkennt sie Android Studio jetzt nicht mehr?
  • Hallo die R Klasse legt android studio selber an. In ihr werden hauptsächlich die Ressourcen definiert die in den xml datein enthalten sind.

    Wenn die Klasse Rot ist könnte es sein das beim build Prozeß etwas schief gegangen ist. Mache mal eni Rebuild.
    Wenn dein Ressource nicht gefunden wurde dann schau mal deine xml files an ob dei Ressource auch vorhanden ist u d auch gleichgeschrieben ist.
    Auch die xml Datei darf nicht rot sein.
    Ein Feedback auf Tipps ist auch schön. :P
  • XML-Quellcode

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:app="http://schemas.android.com/apk/res-auto"
    4. xmlns:tools="http://schemas.android.com/tools"
    5. android:layout_width="match_parent"
    6. android:layout_height="match_parent"
    7. android:gravity="center"
    8. android:orientation="vertical"
    9. tools:context=".MainActivity">
    10. <EditText
    11. android:id="@+id/zaehler"
    12. android:layout_width="wrap_content"
    13. android:layout_height="wrap_content"
    14. android:background="@android:drawable/alert_light_frame"
    15. android:ems="10"
    16. android:gravity="clip_horizontal"
    17. android:hint="Enter Nominator"
    18. android:inputType="numberSigned" />
    19. <TextView
    20. android:layout_width="wrap_content"
    21. android:layout_height="wrap_content"
    22. android:text="--------------------------------------------------------------------------------------" />
    23. <EditText
    24. android:id="@+id/nenner"
    25. android:layout_width="wrap_content"
    26. android:layout_height="wrap_content"
    27. android:background="@android:drawable/alert_light_frame"
    28. android:ems="10"
    29. android:gravity="clip_horizontal"
    30. android:hint="Enter Denominator"
    31. android:inputType="numberSigned" />
    32. <Button
    33. android:id="@+id/button"
    34. android:layout_width="wrap_content"
    35. android:layout_height="wrap_content"
    36. android:background="l"
    37. android:text="Reduce"
    38. android:textAllCaps="false"/>
    39. </LinearLayout>
    Alles anzeigen
    Hoffe du meintest das.
  • hallo
    Hast du auch mal ein neues Projekt erstellt? Empty Activity zb.
    Und dieses hallo world auch mal laufen lassen. Wenn dies schon nicht gehen sollte ist irgendetwas mit deinem Studio.

    Ps noch eine Frage
    Wie Hast du das Projekt erstellt?
    Hast du ein Standardprojekt erstellt und die XML und Java klasse von Hand editirt ? Da sollte es eigentlich klappen.
    Oder hast du ein Projekt aus deinem buch geladen?

    Verwendest du auch überall den utf8 Zeichen Satz. Studio unten rechts zum einstellen. Könnte auch ein Fehler sein der bei Import entsteht vor allen Wen du einfach die Dateien kopierst.
    Wenn deine klasse einen anderen Satz hat als das XML gibt es auch solche Probleme.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von jogimuc ()

  • Ja den Verdacht auf gradle hatte ich auch. Deshalb habe ich dir auch dem Vorschlag mit dem neuen Projekt gegeben um diesen Fehler auzuschliessen. Da solche Fehler über die fernne schwer zu handeln sind
    Da du noch scheinbar Anfänger bist ist das auch etwas schwerer zu erklären. Da ist es meist einfacher ein neues Projekt zu machen als lange zu suchen.
    Schön das es nun klappt :)
    Ein Feedback auf Tipps ist auch schön. :P