findViewById在充气后返回null

时间:2016-08-01 20:21:33

标签: android android-layout android-recyclerview

我已将其缩小为三行Java代码:

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
    View view = layoutInflater.inflate(R.layout.item_tile, parent, false);
    System.out.println(view.findViewById(R.id.text_view));
    return new ViewHolder(view);
}

这里是相应的XML代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_view"/>

</LinearLayout>

这打印为null。为什么打印为null?为什么找不到文本视图?

是的,XML文件名为&#34; item_tile.xml&#34;,没有其他人在同一个地方命名相同的东西。我已尝试创建新文件并将此代码丢弃,但我仍然有同样的错误。为什么findViewById(...)失败?

1 个答案:

答案 0 :(得分:-1)

当你调用parent.getContext()是父片段?