【问题标题】:constructor in class cannot be applied to given types android studio类中的构造函数不能应用于给定类型android studio
【发布时间】:2020-04-27 21:44:02
【问题描述】:

我正在制作一个食谱应用程序并且我收到此错误:类 HomeItem 中的构造函数 HomeItem 不能应用于给定类型; recipe.add(new HomeItem("viay",R.drawable.vietnamese));

这是我的代码:

公共类 HomeFragment 扩展 Fragment { 查看 v; 私有 RecyclerView myrecyclerview; 私人清单配方; 公共 HomeFragment() { }

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

v = inflater.inflate(R.layout.fragment_home,container,false);

返回 v; }

public interface OnFragmentInteractionListener {
}

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    recipe = new ArrayList<>();
    recipe.add(new HomeItem("viay",R.drawable.vietnamese));
}

}

这里是 HomeItem.java:

公共类 HomeItem {

private String RecipeName;
private int RecipeImage;

public HomeItem() {

}

public String getRecipeName() {
    return RecipeName;
}

public int getRecipeImage() {
    return RecipeImage;
}

public void setRecipeName(String recipeName) {
    RecipeName = recipeName;
}

public void setRecipeImage(int recipeImage) {
    RecipeImage = recipeImage;
}

}

我在 HomeItem 中声明了什么错误?谢谢

【问题讨论】:

  • 您的 HomeItem 构造函数没有参数,但您仍在为其提供参数

标签: javascript java android


【解决方案1】:

你不能将参数传递给没有参数的构造函数。

试试这个

public HomeItem(String recipieName, int recipieImage) {
    this.recipieName=recipieName;
    this.recipieImage=recipieImage;
}

附言对变量和字段使用驼峰式大小写

【讨论】:

    【解决方案2】:

    这是一个简单的编码问题。您在 HomeItem 类中定义了一个没有任何参数/参数的构造函数,但您尝试实例化 HomeItem 对象并为其构造函数提供一些参数。您应该改用 setters 方法,或者重构代码以在构造函数中初始化所有 HomeItem 类属性/字段。

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      好吧,你正在调用带有参数的constructor,但你只有一个空的构造函数,试试这个:

      @Override
      public void onCreate(@Nullable Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
      
          recipe = new ArrayList<>();
          HomeItem item = new HomeItem();
          item.setRecipeName("viay");
          item.setRecipeImage(R.drawable.vietnamese);
          recipe.add(item);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-18
        • 2020-06-21
        • 1970-01-01
        相关资源
        最近更新 更多