android - setText() no funciona en el diseño inflado
android-layout nullpointerexception (3)
Llame a findViewById(R.id.tvCsAddLink) en su LinearLayout rowLink inflado, ahora lo está buscando en la actividad actual.
LinearLayout inflar LinearLayout para crear una sección personalizada en mi pantalla.
String txt = "testing";
LinearLayout rowLink = (LinearLayout)getLayoutInflater().inflate(R.layout.additional_link, null);
TextView tvCsAddLink = (TextView)findViewById(R.id.tvCsAddLink);
tvCsAddLink.setText(txt);
// adding this inflated layout to an existing layout
myLinearLayout.addView(rowLink);
El contenido de mi additional_link.xml es el siguiente:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llCsAddLink"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/white_row"
android:clickable="true"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:src="@drawable/youtube_icon" />
<TextView
android:id="@+id/tvCsAddLink"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10px"
android:paddingRight="20px"
android:textSize="16dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_gravity="center_vertical" />
</LinearLayout>
NullPointerException una NullPointerException en la línea:
tvCsAddLink.setText(txt);
Use esto para obtener TextView del diseño.
TextView tvCsAddLink = (TextView)rowLink.findViewById(R.id.tvCsAddLink);
ha inflado su XML en linearLayout rowLink , e intenta encontrar el TextView desde el diseño de su Activity ( main.xml ), por lo que necesita encontrar su textView en su disposición rowLink así:
TextView tvCsAddLink = (TextView)rowLink.findViewById(R.id.tvCsAddLink);