Android recibe actividad de alojamiento desde una vista

Tengo una Activity con 3 EditText s y una vista de encargo que actúa un teclado especializado para agregar la información en el EditText s.

Actualmente paso la Activity a la vista para que pueda obtener el texto de edición actualmente enfocado y actualizar el contenido del teclado personalizado.

¿Hay una manera de hacer referencia a la actividad de los padres y obtener el EditText actualmente enfocado sin pasar la actividad a la vista?

Los siguientes métodos le pueden ayudar

  1. Activity host = (Activity) view.getContext() ; y
  2. view.isFocused()

Acabo de sacar ese código fuente de la MediaRouter en la biblioteca de soporte oficial y hasta ahora funciona bien:

 private Activity getActivity() { Context context = getContext(); while (context instanceof ContextWrapper) { if (context instanceof Activity) { return (Activity)context; } context = ((ContextWrapper)context).getBaseContext(); } return null; } 

En Android 7+, la vista no tiene acceso a la actividad de inclusión ya, por lo que view.getContext() ya no se puede view.getContext() a una actividad.

En su lugar, el código siguiente funciona en Android 7+ y 6:

 private static Activity getActivity(final View view) { return (Activity) view.findViewById(android.R.id.content).getContext(); } 
  • Altura dinámica de Android ExpandableListView
  • Vista superficial en capas en un FrameLayout en Android
  • Edición de Edición personalizada de Android y NextFocusDown
  • ¿Cómo hacer una pausa de la rotación de la lona durante 2 segundos en ángulos específicos?
  • Android doble lista de correo expandible oculta los elementos si la lista es demasiado grande
  • Tamaño de imagen dinámico para android
  • Personalizar el indicador TabLayout. ¿Haciendo la esquina de la esquina del indicador de la pestaña?
  • Cómo obtener un elemento de un niño en ExpandableListView?
  • Cómo aplicar un solo fondo para el grupo y el niño en la lista expandible
  • YouTubePlayerFragment en ListView con AppCompatActivity Error
  • Agregar vista dinámica mediante WindowManager.addView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.