我正在制作一个配方应用程序,但我收到了这个错误:类HomeItem中的构造函数HomeItem不能应用于给定的类型;recipe.add(new HomeItem("viay",R.drawable.越南语((;
这是我的代码:
公共类HomeFragment扩展Fragment{视图v;private RecyclerView myrecyclerview;私人列表配方;public HomeFragment(({}
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
v=充气机充气(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中声明了什么错误?感谢
不能将参数传递给没有参数的构造函数。
试试这个
public HomeItem(String recipieName, int recipieImage) {
this.recipieName=recipieName;
this.recipieImage=recipieImage;
}
p.s.对变量使用camel案例并伪造
这是一个简单的编码问题。您在HomeItem
类中定义了一个没有任何参数/自变量的构造函数,但您尝试实例化HomeItem对象并为其构造函数提供一些自变量。您应该使用setters
方法,或者重构代码以初始化构造函数中的所有HomeItem
类属性/字段。
希望这能有所帮助。
您正在用参数调用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);
}