對于我的課程,我必須在 Android Studio 中開發一個瑣事游戲,我以為我已經弄清楚了,但是現在我的應用程序在我在模擬器上運行時立即崩潰。有人可以告訴我發生了什么事嗎?意思是我在第 24 行有一個 nullpointerException (上面寫著的那一行mQuestionTv.setText(R.string.question_text1);這就是它在 logcat 中所說的:原因:java.lang.NullPointerException:嘗試在 edu.unf.n01044854.unftrivia.MainActivity.onCreate(MainActivity.java:24) 的空對象引用上調用虛擬方法“void android.widget.TextView.setText(int)” )這是我的應用程序的Java代碼:package edu.unf.n01044854.unftrivia;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class MainActivity extends AppCompatActivity {private TextView mQuestionTv;private TextView mAnswerTv;private Button mTrueButton;private Button mFalseButton;private Button mNextButton;private int mCurrentIndex = 0;private int[] mQuestionBank = new int[] {R.string.question_text1, R.string.question_text2, R.string.question_text3};private boolean[] mAnswerBank = new boolean[] {true, false, true};@Overrideprotected void onCreate(Bundle savedInstanceState) { mQuestionTv = (TextView)findViewById(R.id.question_textView); mQuestionTv.setText(R.string.question_text1); mAnswerTv = (TextView)findViewById(R.id.answer_textView); mTrueButton = (Button)findViewById(R.id.true_button); mTrueButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(mAnswerBank[mCurrentIndex]) mAnswerTv.setText(R.string.correct_text); else mAnswerTv.setText(R.string.incorrect_text); } }); mFalseButton = (Button)findViewById(R.id.false_button); mFalseButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(!mAnswerBank[mCurrentIndex]) mAnswerTv.setText(R.string.correct_text); else mAnswerTv.setText(R.string.incorrect_text); } });
2 回答

猛跑小豬
TA貢獻1858條經驗 獲得超8個贊
移動這些語句:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
在里面的任何其他聲明之前onCreate()。
任何findViewById()用于初始化視圖的方法都必須在布局膨脹后null調用,否則視圖將是.
添加回答
舉報
0/150
提交
取消