inflate方法

toiithl6  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(242)

我正在为一个片段定义oncreateview。
代码:

package com.example.weekplanner;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

public class FragmentChart extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=new inflater.inflate(R.layout.home_fragment_layout,container,false); //error on this line
        return view;

    }
}

但是 inflate 无法解析方法。
主页布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">

</androidx.constraintlayout.widget.ConstraintLayout>
67up9zun

67up9zun1#

inflatorLayoutInflator 类中已传递的 onCreateView 方法。因此,无需使用 new 关键字,因为它是一个对象(不是一个类)。因此,您的代码必须是这样的,

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.home_fragment_layout,container,false); 
        return view;
}
pjngdqdw

pjngdqdw2#

从充气机物体上拆下新的
更改此行

View view=new inflater.inflate(R.layout.home_fragment_layout,container,false);

为了这个

View view=inflater.inflate(R.layout.home_fragment_layout,container,false);

相关问题