final ArrayList<DataModel> dataModels;
final CustomAdapter adapter;
dataModels= new ArrayList<>();
dataModels.add(new DataModel("Apple Pie"));
dataModels.add(new DataModel("Banana Bread"));
dataModels.add(new DataModel("Cupcake"));
adapter= new CustomAdapter(dataModels,getApplicationContext());
listview1.setAdapter(adapter);
listview1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
DataModel dataModel= dataModels.get(position);
showMessage(dataModel.getName());
}
});
}
public static class CustomAdapter extends ArrayAdapter<DataModel>{
private ArrayList<DataModel> dataSet;
Context mContext;
private static class ViewHolder {
TextView name;
}
public CustomAdapter(ArrayList<DataModel> data, Context context) {
super(context, R.layout.row_item, data);
this.dataSet = data;
this.mContext=context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
DataModel dataModel = getItem(position);
ViewHolder viewHolder;
final View result;
if (convertView == null) {
viewHolder = new ViewHolder();
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.row_item, parent, false);
viewHolder.name = (TextView) convertView.findViewById(R.id.name);
result=convertView;
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
result=convertView;
}
viewHolder.name.setText(dataModel.getName());
return convertView;
}
}
public static class DataModel {
String name;
public DataModel(String name) {
this.name=name;
}
public String getName() {
return name;
}
}
final CustomAdapter adapter;
dataModels= new ArrayList<>();
dataModels.add(new DataModel("Apple Pie"));
dataModels.add(new DataModel("Banana Bread"));
dataModels.add(new DataModel("Cupcake"));
adapter= new CustomAdapter(dataModels,getApplicationContext());
listview1.setAdapter(adapter);
listview1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
DataModel dataModel= dataModels.get(position);
showMessage(dataModel.getName());
}
});
}
public static class CustomAdapter extends ArrayAdapter<DataModel>{
private ArrayList<DataModel> dataSet;
Context mContext;
private static class ViewHolder {
TextView name;
}
public CustomAdapter(ArrayList<DataModel> data, Context context) {
super(context, R.layout.row_item, data);
this.dataSet = data;
this.mContext=context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
DataModel dataModel = getItem(position);
ViewHolder viewHolder;
final View result;
if (convertView == null) {
viewHolder = new ViewHolder();
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.row_item, parent, false);
viewHolder.name = (TextView) convertView.findViewById(R.id.name);
result=convertView;
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
result=convertView;
}
viewHolder.name.setText(dataModel.getName());
return convertView;
}
}
public static class DataModel {
String name;
public DataModel(String name) {
this.name=name;
}
public String getName() {
return name;
}
}