Pregunta

Estoy tratando de usar QuickContactBadge en el cuadro de diálogo personalizado. Cuando trato de modificar QCB, siempre se bloquea, pero no puedo encontrar por qué. ¿Alguien puede ayudar? Gracias de antemano.

custom_xml.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/layout_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<QuickContactBadge 
android:id="@+id/quickContactBadge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/quick_contact_badge"
android:padding="5dp"
></QuickContactBadge>
</RelativeLayout>

Código Java:

Dialog dialog = new Dialog(NameOfActivity.this);
dialog.setContentView(R.layout.custom_xml);
dialog.show();

QuickContactBadge qcb = (QuickContactBadge) findViewById (R.id.quickContactBadge); 
//This make app always crash
qcb.setMode(ContactsContract.QuickContact.MODE_LARGE); 
qcb.assignContactFromPhone("12345678", true);  
qcb.setImageResource(R.drawable.icon);
¿Fue útil?

Solución

Debes estar obteniendo un NullPointerException. Llamar findViewById() en el objeto de diálogo.

QuickContactBadge qcb = (QuickContactBadge) 
                                 dialog.findViewById (R.id.quickContactBadge);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top