Rumah >Java >javaTutorial >Mengapa Saya Mendapat 'Percubaan untuk Mendapat Kaedah Maya 'android.view.Window$Callback android.view.Window.getCallback()' pada Rujukan Objek Null' dalam Android?
“Percubaan untuk Mendapat Kaedah Maya 'android.view.Window$Callback android.view.Window.getCallback()' pada Rujukan Objek Null” dalam Android
Ralat ini berlaku apabila Aktiviti cuba mengakses paparan sebelum ia dimulakan sepenuhnya. Khususnya, ralat dicetuskan apabila kaedah Window.getCallback() dipanggil pada objek nol, yang boleh berlaku jika kaedah setContentView() belum lagi digunakan dalam onCreate().
Sebab :
Untuk mengelakkan ralat ini, adalah penting untuk mengisytiharkan medan paparan tanpa memulakannya dalam kelas pengisytiharan:
private EditText usernameField, passwordField; private TextView error; private ProgressBar progress;
Kemudian, tetapkan nilai kepada medan ini dalam onCreate() selepas setContentView() dipanggil:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); usernameField = (EditText)findViewById(R.id.username); passwordField = (EditText)findViewById(R.id.password); error = (TextView)findViewById(R.id.error); progress = (ProgressBar)findViewById(R.id.progress); }
Nasihat Tambahan:
new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(SplashActivity.this, LoginActivity.class); startActivity(intent); finish(); } }, 1500);
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Percubaan untuk Mendapat Kaedah Maya 'android.view.Window$Callback android.view.Window.getCallback()' pada Rujukan Objek Null' dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!