конструктор в классе не может быть применен к данным типам android студия - PullRequest
0 голосов
/ 28 апреля 2020

Я делаю приложение для рецептов и получаю эту ошибку: конструктор HomeItem в классе HomeItem не может быть применен к данным типам; recipe.add (новый HomeItem ("viay", R.drawable.vietnamese));

Это мой код:

publi c класс HomeFragment extends Fragment {View v ; частный RecyclerView myrecyclerview; личный список рецептов; publi c HomeFragment () {}

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

v = inflater.inflate (R.layout.fragment_home, контейнер, false);

return 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:

publi c class 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? Спасибо

Ответы [ 3 ]

1 голос
/ 28 апреля 2020

Вы не можете передавать аргументы конструктору без аргументов.

Попробуйте это

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

ps используйте регистр верблюдов для переменных и полей

0 голосов
/ 28 апреля 2020

Хорошо, вы вызываете 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);
}
0 голосов
/ 28 апреля 2020

Это простая проблема кодирования. Вы определяете конструктор в HomeItem классе без каких-либо параметров / аргументов, но вы пытаетесь создать экземпляр объекта HomeItem и предоставить некоторые аргументы его конструктору. Вместо этого вам следует использовать метод setters или изменить код для инициализации всех свойств / полей класса HomeItem в конструкторе.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...