我正在尝试获取一个 Activity 来托管 fragment ,但在扩展 fragment 的 View 后,当我尝试通过 findViewById() 访问任何小部件时,它返回 null。所以在这种情况下 mBillTitle 始终为 null,我不确定我错过了什么?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="@+id/bill_title"
android:textSize="24dp"
android:gravity="left"/>
....
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@+id/bill_detail_title"
android:textSize="20dp"
android:paddingTop="5dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="5dp">
....
</LinearLayout>
...
</LinearLayout>
这是 fragment 代码
@Override
public void onCreate(Bundle savedInstanceBundle) {
super.onCreate(savedInstanceBundle);
mBill = new Bill();
}
@Override
public View onCreateView(
LayoutInflater inflater,
ViewGroup parent,
Bundle savedInstanceBundle) {
View view = inflater.inflate(R.layout.bill_details, parent, false);
mBillTitle = (TextView) view.findViewById(R.id.bill_title);
mBillTitle.setText(mBill.getmShortTitle());
...
return view;
}
最佳答案
android:text="@+id/bill_title"
假设是
android:id="@+id/bill_title"
关于java - Android Fragment findViewById 在膨胀 View 后返回 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41336346/