Dav*_*ris 4 android nullpointerexception android-layout layout-inflater
我正在尝试通过膨胀LinearLayout来在我的屏幕上构建自定义部分.
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);
Run Code Online (Sandbox Code Playgroud)
我的内容additional_link.xml如下:
<?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>
Run Code Online (Sandbox Code Playgroud)
我正在NullPointerException上线:
tvCsAddLink.setText(txt);
Run Code Online (Sandbox Code Playgroud)
使用它从布局中获取TextView.
TextView tvCsAddLink = (TextView)rowLink.findViewById(R.id.tvCsAddLink);
Run Code Online (Sandbox Code Playgroud)
你已经在你的 .xml 上膨胀了你的 XML linearLayout rowLink ,并且你试图TextView从你的Activity(通常main.xml)的布局中找到你的,所以你需要textView在你的布局 rowLink 上找到你的,如下所示:
TextView tvCsAddLink = (TextView)rowLink.findViewById(R.id.tvCsAddLink);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3675 次 |
| 最近记录: |