android - txt - open logcat
sendUserActionEvent() es nulo (5)
Tengo una gran dosis de felicidad aquí. Cuando hago clic en los rotadores, abro los elementos del menú o abro los menús contextuales en los clics largos obtengo el mismo mensaje de Logcat:
08-02 21:20:57.264: E/ViewRootImpl(31835): sendUserActionEvent() mView == null
La etiqueta es ViewRootImpl
, y el mensaje es sendUserActionEvent() mView == null
. No pude encontrar nada útil sobre esto en la web. Busqué en las fuentes de Android y encontré algunas referencias a mView
, pero no pude encontrar el archivo en el que se imprime este mensaje de registro. Como referencia, estoy usando un Samsung Galaxy S4 con 4.2.2 o API 17. El mismo mensaje NO ocurre cuando se depura en un Nexus 7 con Android 4.3. ¿Algunas ideas? ¿Es este un problema específico de Samsung?
Considere agregar lo siguiente en la actividad principal
@Override
public boolean onOptionsItemSelected(MenuItem item) {
...
if (id == R.id.action_settings) {
Intent settingsIntent = new Intent(getApplicationContext(), MySettingsActivity.class);
startActivity(settingsIntent);
return true;
}
...
El mismo problema en un Galaxy Tab y en un Xperia S, después de desinstalarlo e instalarlo nuevamente, parece que desaparecerá.
El código que de repente parece plantear este problema es este:
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);
}
Incluso me encuentro con un problema similar después de hacer algunas modificaciones en el código relacionado con 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();
...
}
Después de comentar //c.close (); Está funcionando bien. Pruébelo al final y actualice La configuración inicial es como ... Tengo una vista de lista en Fragment, y trato de eliminar elementos de la lista a través de contextMenu.
Resolví este problema en mi teléfono Galaxy S4 al reemplazar context.startActivity (addAccountIntent); con startActivity (nuevo propósito (Settings.ACTION_ADD_ACCOUNT));
También encerré lo mismo en S4. Probé la aplicación en Galaxy Grand, HTC, Sony Experia pero solo en s4. Puede ignorarlo ya que no está relacionado con su aplicación.