sendUserActionEvent () è null


90

Ho un vero doozy qui. Quando faccio clic su spinner, apro voci di menu o apro menu contestuali su clic lunghi ottengo lo stesso messaggio di Logcat:

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

Il tag è ViewRootImple il messaggio è sendUserActionEvent() mView == null. Non sono riuscito a trovare nulla di utile su questo sul web. Ho cercato tra le fonti Android e ho trovato alcuni riferimenti a mView, ma non sono riuscito a trovare il file in cui è stampato questo messaggio di log. Come riferimento, sto utilizzando un Samsung Galaxy S4 con 4.2.2 o API 17. Lo stesso messaggio NON viene visualizzato durante il debug su un Nexus 7 con Android 4.3. Qualche idea? È un problema specifico di Samsung?



Controlla la mia risposta per lo stesso problema, potrebbe risolvere il tuo codice stackoverflow.com/questions/23016155/…
AJ

Risposte:


93

Ho anche registrato lo stesso in S4. Ho testato l'app su Galaxy Grand, HTC, Sony Experia ma l'ho ricevuta solo in s4. Puoi ignorarlo perché non è correlato alla tua app.


Hai altre informazioni al riguardo o sai perché succede?
crocboy

2
Sei connesso a Internet mentre il tuo wi-fi è acceso? Questo apparirà se non c'è connettività a Internet.
App Work

34
La teoria WIFI / connessione è sbagliata. Entrambi funzionano per me, ma ricevo ancora questo errore (su S4).
Radley,

2
Il messaggio Logcat sopra è talvolta preceduto da un altro messaggio più informativo: "Tentativo di terminare un evento di input ma il ricevitore dell'evento di input è già stato eliminato"
Hartmut Pfitzinger

1
Penso che questo errore sia correlato a una nuova versione di Android su un dispositivo, ho questo problema su Note 3 con versione 5.0 mentre non ho alcun problema con Note 3 con versione 4.4.2 .. + Penso che questo sia correlato a una finestra di dialogo, perché è successo quando dovrebbe apparire una finestra di dialogo per inserire la password Bluetooth.
Chris Sim

5

Ho risolto questo problema sul mio telefono Galaxy S4 sostituendo context.startActivity (addAccountIntent); con startActivity (new Intent (Settings.ACTION_ADD_ACCOUNT));


3
Corretta. Questo è ciò che ha davvero risolto lo stesso problema, nella stessa API, per me. Non è necessario chiamare context.startActivity () se sei già nel contesto che desideri. È sufficiente chiamare startActivity () e non si ottiene questo errore. Grazie a tutti.
Shad

Fornirebbe un codice di esempio per aiutare con questo? Grazie.
Brandon

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

1
@AmitSinha sulla tua attività / frammento. La parte del codice in cui avvierai un'altra attività.
Neon Warge

0

Stesso problema su un Galaxy Tab e su un Xperia S, dopo aver disinstallato e reinstallato sembra che scompaia.

Il codice che improvvisamente sembra sollevare questo problema è questo:

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

Anche io devo affrontare un problema simile dopo aver apportato alcune modifiche al codice relativo a 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();
...
}

Dopo aver commentato //c.close (); Funziona bene. Prova alla fine e aggiorna La configurazione iniziale è come ... Ho una visualizzazione elenco in Fragment e sto cercando di eliminare un elemento dall'elenco tramite contextMenu.


0

Questo ha a che fare con due pulsanti con lo stesso ID in due diverse attività, a volte Android Studio non riesce a trovare, devi solo dare al tuo pulsante un nuovo ID e ricostruire il progetto


0

È un errore su tutti i dispositivi Samsung, la soluzione è: inserisci questa riga nella dichiarazione di attività in Manifest.

android:configChanges="orientation|screenSize"

anche quando inizi l'attività dovresti fare questo:

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

L'ho usato per creare un'attività in modalità a schermo intero, ma questa domanda non ha bisogno del codice a schermo intero, ma in tutti i casi qualcuno potrebbe averne bisogno puoi fare riferimento a questa domanda per il resto del codice:

Come rendere VideoView a schermo intero

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.