Dies ist, was ich versuche, für mehrere Stunden zu tun: Ich habe eine MainActivity.java Datei (Auflistung unten) und eine Fragment_start.xml Datei mit einem Start Knopf. Durch Antippen der Start-Schaltfläche sollte die Datei activity_main.xml mit point-/round- und countdown-Textviews angezeigt werden. Es funktioniert nicht, und das ist, was passiert:- java.lang.NullPointerException - setText auf null Objektreferenz
Die logcat sagt mir: PID: 1240 java.lang.NullPointerException: Versuch zum Aufruf virtuelle Methode ‚Leeren android.widget.TextView.setText (java.lang .CharSequence)
Der Emulator zeigt: Leider hat GAME gestoppt.
Nötig zu erwähnen, dass ich ziemlich neu in der Programmierung bin?
Danke für jede Beratung!
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MainActivity extends Activity implements View.OnClickListener {
private int points;
private int round;
private int countdown;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showStartFragment();
}
private void newGame() {
points=0;
round=1;
initRound();
}
private void initRound() {
countdown = 10;
update();
}
private void update() {
fillTextView(R.id.points, Integer.toString(points));
fillTextView(R.id.round, Integer.toString(round));
fillTextView(R.id.countdown, Integer.toString(countdown * 1000));
}
private void fillTextView (int id, String text) {
TextView tv = (TextView) findViewById(id);
tv.setText(text);
}
private void showStartFragment() {
ViewGroup container = (ViewGroup) findViewById(R.id.container);
container.removeAllViews();
container.addView(
getLayoutInflater().inflate(R.layout.fragment_start, null));
container.findViewById(R.id.start).setOnClickListener(this);
}
@Override
public void onClick(View view) {
if(view.getId() == R.id.start) {
startGame();
}
}
public void startGame() {
newGame();
}
}
Posting ganz Ausnahmemeldung/logcat würde helfen. – arleitiss
Bitte posten Sie Ihre XML-Dateien. – Rohit5k2
Sehen Sie sich meine Antwort an. Die Erklärung kann nicht klarer sein, aber Sie müssen selbst herausfinden, warum Sie eine falsche ID als Parameter eingeben (denn wenn eine Ansicht mit dieser ID existiert, würde die Methode keinen Nullwert liefern) – ProgrammingIsAwsome