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?

Mengapa Saya Mendapat 'Percubaan untuk Mendapat Kaedah Maya 'android.view.Window$Callback android.view.Window.getCallback()' pada Rujukan Objek Null' dalam Android?

Barbara Streisand
Barbara Streisandasal
2024-12-09 14:10:151019semak imbas

Why Do I Get

“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:

  • Pertimbangkan menggunakan Pengendali untuk menjalankan kod pada urutan UI dan bukannya Pemasa, sebagai Pemasa melaksanakan tugas pada urutan latar belakang.
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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn