android android-layout nullpointerexception layout-inflater

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);