cómo obtener id en diseño diferente
-
25-09-2019 - |
Pregunta
He id "@+id/call"
en single_item.xml
cuando uso findVewById
él (el diseño setcontextview(R.layout.main)
) .El accidente aplicación .how para corregir el error
Solución
Usted está tratando de encontrar una Vista (R.id.call) que se declara en R.layout.single_item en el layour R.layout.main, así que supongo que es lanzar una excepción de puntero nulo.
Se debe declarar ya sea el elemento "@ + / Identificación de llamada" en su archivo main.xml, o configurar la vista de contexto para R.layout.single_item
Otros consejos
Si desea acceder a una vista en otra disposición (no el trazado activo), entonces se puede inflar el diseño que desea utilizar y acceder a ella de esa manera.
Ejemplo:
View inflatedView = getLayoutInflater().inflate(R.layout.other_layout, null);
TextView text = (TextView) inflatedView.findViewById(R.id.text_view);
text.setText("Hello!");
Más información sobre inflar los diseños se pueden encontrar aquí .
La forma más sencilla a buscar id
desde un punto de vista es:
String id = getResources().getResourceEntryName(view.getId());
View parent = (View)view.getParent();
??? = (???)parent.findViewById(R.id.call);
Probar. espero que ayuda