首页 > 为什么在Fragment的onCreateView里无法绑定组件?

为什么在Fragment的onCreateView里无法绑定组件?

代码如下,lv的值为什么会一直为null?

MyFragment类:

public class MyFragment extends Fragment {

    TextView tv;
    ListView lv;
        
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.list_item, container, false);
        lv = (ListView) v.findViewById(R.id.wifiTv);
        tv = (TextView) v.findViewById(R.id.textView);
        
        Judgement();
        return v;
    }
}

Layout文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">
    
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/unroot"
        android:textSize="20sp"
        android:visibility="gone" />

    <ListView
        android:id="@+id/wifiTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:listSelector="@android:color/transparent"
        android:scrollbarStyle="outsideOverlay" />

</LinearLayout>


Debug如图


layout文件使用错了,在你贴出的layout代码里并没有看到RelativeLayout的定义,但是tv却出现了RelativeLayout
还有,建议控件的初始化写在onViewCreated而非onCreateView

【热门文章】
【热门文章】