I am trying to make grid view have to texts but I faced this problem no suitable method found for setText(Model)
i am tried to make to listView but doesn’t go well so I am asked and this code is best code I reached into it .. till now … why it Cannot resolve method ‘setText(Model)’ ?
This is my Adapter …
JavaScript
x
public class CatGridAdapter extends BaseAdapter {
private List<Model> catList;
public CatGridAdapter(List<Model> catList) {
this.catList = catList;
}
@Override
public int getCount() {
return catList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
if (convertView == null) {
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.quizitem, parent, false);
} else {
view = convertView;
}
((TextView) view.findViewById(R.id.title)).setText(catList.get(position));
((TextView) view.findViewById(R.id.subTitle)).setText(catList.get(position));
return view;
}
}
And this is model class …
JavaScript
private String cat;
private String SubTitle;
public Model(String cat, String subTitle) {
this.cat = cat;
SubTitle = subTitle;
}
public String getCat() {
return cat;
}
public void setCat(String cat) {
this.cat = cat;
}
public String getSubTitle() {
return SubTitle;
}
public void setSubTitle(String subTitle) {
SubTitle = subTitle;
}
}
MainActivity class
catGrid = findViewById(R.id.catGridView);
List<Model> catList = new ArrayList<>();
catList.add(new Model("Cat1","subTitle1"));
catList.add(new Model("Cat2","subTitle2"));
catList.add(new Model("Cat3","subTitle3"));
catList.add(new Model("Cat4","subTitle4"));
catList.add(new Model("Cat5","subTitle5"));
catList.add(new Model("Cat6","subTitle6"));
CatGridAdapter adapter = new CatGridAdapter(catList);
catGrid.setAdapter(adapter);
}
Advertisement
Answer
change your code to this:
JavaScript
((TextView) view.findViewById(R.id.title)).setText(catList.get(position).getCat());
((TextView) view.findViewById(R.id.subTitle)).setText(catList.get(position).getSubTitle());