sendUserActionEvent () adalah null


90

Aku benar-benar merasa tertidur di sini. Ketika saya mengklik spinner, item menu terbuka, atau menu konteks terbuka dengan klik lama, saya mendapatkan pesan Logcat yang sama:

08-02 21:20:57.264: E/ViewRootImpl(31835): sendUserActionEvent() mView == null

Tagnya adalah ViewRootImpl, dan pesannya adalah sendUserActionEvent() mView == null. Saya tidak dapat menemukan apa pun yang berguna tentang ini di web. Saya mencari melalui sumber Android dan menemukan beberapa referensi mView, tetapi saya tidak dapat menemukan file di mana pesan log ini dicetak. Sebagai referensi, saya menggunakan Samsung Galaxy S4 yang menjalankan 4.2.2, atau API 17. Pesan yang sama TIDAK terjadi saat melakukan debug pada Nexus 7 yang menjalankan Android 4.3. Ada ide? Apakah ini masalah khusus Samsung?



Periksa jawaban saya untuk masalah yang sama, ini mungkin memperbaiki kode Anda stackoverflow.com/questions/23016155/…
AJ

Jawaban:


93

Saya juga mengalami hal yang sama di S4. Saya telah menguji aplikasinya di Galaxy Grand, HTC, Sony Experia tetapi hanya mendapatkannya di s4. Anda dapat mengabaikannya karena tidak terkait dengan aplikasi Anda.


Apakah Anda memiliki informasi lebih lanjut tentang itu, atau apakah Anda tahu mengapa itu terjadi?
crocboy

2
Apakah Anda terhubung ke internet saat wi-fi Anda dihidupkan? Ini akan muncul jika tidak ada konektivitas ke internet.
Aplikasi Bekerja

34
Teori WIFI / koneksi salah. Keduanya berfungsi untuk saya, tetapi saya masih mendapatkan kesalahan ini (di S4).
radley

2
Pesan Logcat di atas terkadang didahului oleh pesan lain yang lebih informatif: "Mencoba menyelesaikan peristiwa masukan tetapi penerima peristiwa masukan telah dibuang"
Hartmut Pfitzinger

1
Saya pikir kesalahan ini terkait dengan versi baru dari android pada perangkat, saya memiliki masalah ini pada Note 3 yang memiliki versi 5.0 sementara saya tidak memiliki masalah dengan Note 3 dengan versi 4.4.2 .. + Saya pikir ini terkait ke Dialog, karena itu terjadi ketika dialog popup muncul untuk memasukkan kata sandi Bluetooth.
Chris Sim

5

Saya memecahkan masalah ini di ponsel Galaxy S4 saya dengan mengganti context.startActivity (addAccountIntent); dengan startActivity (Intent baru (Settings.ACTION_ADD_ACCOUNT));


3
Benar. Inilah yang benar-benar memecahkan masalah yang sama, di API yang sama, bagi saya. Ini tidak perlu memanggil context.startActivity () jika Anda sudah IS dalam konteks yang Anda inginkan. Hanya memanggil startActivity () sudah cukup dan tidak akan menghasilkan kesalahan itu. Terima kasih semuanya.
Shad

Tolong berikan kode contoh untuk membantu dengan ini? Terima kasih.
Brandon

1
Maksud addAccountIntent = Maksud baru (Settings.ACTION_ADD_ACCOUNT); addAccountIntent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); addAccountIntent.putExtra (Settings.EXTRA_AUTHORITIES, String baru [] {"com.app.yourapp"}); startActivity (addAccountIntent);
droid-zilla

1
@AmitSinha pada aktivitas / fragmen Anda. Bagian dalam kode Anda tempat Anda akan meluncurkan aktivitas lain.
Neon Warge

0

Masalah yang sama pada Galaxy Tab dan Xperia S, setelah menghapus dan menginstal lagi tampaknya itu hilang.

Kode yang tiba-tiba muncul untuk memunculkan masalah ini adalah ini:

public void unlockMainActivity() {
    SharedPreferences prefs = getSharedPreferences("CALCULATOR_PREFS", 0);
    boolean hasCode = prefs.getBoolean("HAS_CODE", false);
    Context context = this.getApplicationContext();
    Intent intent = null;

    if (!hasCode) {
        intent = new Intent(context, WellcomeActivity.class);
    } else {
        intent = new Intent(context, CalculatingActivity.class);
    }
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    (context).startActivity(intent);
}

0

Bahkan saya menghadapi masalah serupa setelah saya melakukan beberapa modifikasi pada kode yang terkait dengan Cursor.

public boolean onContextItemSelected(MenuItem item) 
{
        AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo();
        Cursor c = (Cursor)adapter.getItem(info.position);
        long id = c.getLong(...);
        String tempCity = c.getString(...);
            //c.close();
...
}

Setelah saya berkomentar //c.close (); Ini bekerja dengan baik. Cobalah di akhir Anda dan perbarui Pengaturan awal adalah sebagai ... Saya memiliki tampilan daftar di Fragmen, dan mencoba menghapus dan item dari daftar melalui contextMenu.


0

Ini ada hubungannya dengan memiliki dua tombol dengan ID yang sama dalam dua Aktivitas berbeda, terkadang Android Studio tidak dapat menemukannya, Anda hanya perlu memberi tombol Anda ID baru dan Membangun kembali Proyek


0

Ini adalah kesalahan pada semua perangkat Samsung, solusinya adalah: letakkan baris ini di deklarasi aktivitas Anda di Manifest.

android:configChanges="orientation|screenSize"

juga ketika Anda memulai aktivitas Anda harus melakukan ini:

Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
intent.setType(Settings.ACTION_SYNC_SETTINGS);
CurrentActivity.this.startActivity(intent);
finish();

Saya menggunakan ini untuk menjadikan aktivitas sebagai mode layar penuh, tetapi pertanyaan ini tidak memerlukan kode layar penuh, tetapi dalam semua kasus mungkin seseorang membutuhkannya, Anda dapat merujuk ke pertanyaan ini untuk sisa kode:

Cara membuat VideoView menjadi layar penuh

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.