java - Android Fragment findViewById 在膨胀 View 后返回 Null

标签 java android user-interface android-fragments

我正在尝试获取一个 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/

相关文章:

Java SWT : widgetSelected vs widgetDefaultSelected

java - 当我在选择 0 索引的情况下删除和添加时,Swing JList 卡住

java - 更改 Netbeans 中 JTable 的源并更新它

java - 在不同的 Java 方法中访问变量

Android USB 主机 : asynchronous interrupt transfer

jquery button() 单击后退按钮时会导致白屏

android - 华为IAP 当选择中国大陆时 : MAJOR:22: Integrate the version update API (checkUpdate)

java - 环绕具有不同签名的通用回调函数

java - 错误:无法解决:com.android.support:support-v4:26.1.0

java - 源代码操作(添加同步块(synchronized block))更改变量范围