Dies ist mehr eine Java-Anfängerfrage, aber sie ist mit einem Android-Code verbunden.Warum muss ich nicht die android "R" -Klasse importieren?
Hier ist meine MainActivity.java
:
package tld.mydomain.buttonclickcounter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private EditText myEditText;
private Button myButton;
private TextView myTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myEditText = (EditText) findViewById(R.id.myEditText);
myButton = (Button) findViewById(R.id.myButton);
myTextView = (TextView) findViewById(R.id.myTextView);
}
}
Wie Sie sehen, ich bin die R
-Klasse, ohne sie importieren zu müssen. Wie kann es möglich sein? Ich glaubte, dass in Java alles importiert werden musste, um verwendet zu werden. Wie kann der Java-Compiler wissen, wo er die Klasse bekommt? Ich benutze Android Studio.
Weil es im gleichen Paket ist. –
Ist die 'R'-Klasse nicht im selben Paket wie Ihre' MainActivity'-Klasse? –
Weil R innerhalb des 'default'-Paketes ist, als ob eine Klasse im src root wäre. – Sombriks