package com.example.dlistview;
import java.util.ArrayList;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Application;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class CustomAdapter extends BaseAdapter {
private static final String TAG = CustomAdapter.class.getSimpleName();
ArrayList<DataModel> listArray;
public CustomAdapter() {
/* listArray = new ArrayList<DataModel>(5);
listArray.add(new DataModel("name1", 5, 1.8, "Java"));
listArray.add(new DataModel("name2", 10, 2.8, "Python"));
listArray.add(new DataModel("name3", 15, 3.8, "Django"));
listArray.add(new DataModel("name4", 20, 4.8, "Groovy"));
listArray.add(new DataModel("name5", 25, 5.8, "Maven")); */
listArray = new ArrayList<DataModel>(5);
listArray.add(new DataModel("Class 1",1));
listArray.add(new DataModel("Class 2",2));
listArray.add(new DataModel("Class 3",3));
listArray.add(new DataModel("Class 4",4));
listArray.add(new DataModel("Class 5",5));
}
@Override
public int getCount() {
return listArray.size(); // total number of elements in the list
}
@Override
public Object getItem(int i) {
return listArray.get(i); // single item in the list
}
@Override
public long getItemId(int i) {
return i; // index number
}
@Override
public View getView(int index, View view, final ViewGroup parent) {
if (view == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
// view = inflater.inflate(R.layout.single_list_item, parent, false);
view = inflater.inflate(R.layout.linear_test,parent,false);
}
//final DataModel dataModel = listArray.get(index);
final DataModel dataModel = listArray.get(index);
/* TextView textView = (TextView) view.findViewById(R.id.tv_string_data);
textView.setText(dataModel.getName());
Button button = (Button) view.findViewById(R.id.btn_number_data);
button.setText("" + dataModel.getAnInt());
textView = (TextView) view.findViewById(R.id.tv_double_data);
textView.setText("" + dataModel.getaDouble()); */
TextView textView = (TextView) view.findViewById(R.id.tv_question);
textView.setText(dataModel.getName());
Button btnyes = (Button) view.findViewById(R.id.button2);
Button btnno = (Button) view.findViewById(R.id.button1);
btnyes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//Toast.makeText(parent.getContext(), "Button Clicked"+ dataModel.getName(),Toast.LENGTH_LONG).show();
//Intent yes= new Intent(parent.getContext(), yes(dataModel.getName().class));
switch( dataModel.getAnInt()){
case 1:
Intent intent = new Intent(parent.getContext(),Yes1.class);
parent.getContext().startActivity(intent);
break;
case 2:
Toast.makeText(parent.getContext(), "Button Clicked"+ dataModel.getName(),Toast.LENGTH_LONG).show();
showmessagebox(parent.getContext(),dataModel.getName(),dataModel.getAnInt());
break;
case 3:
Toast.makeText(parent.getContext(), "Button Clicked"+ dataModel.getName(),Toast.LENGTH_LONG).show();
default:
}
}
});
// button click listener
// this chunk of code will run, if user click the button
// because, we set the click listener on the button only
/* button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "string: " + dataModel.getName());
// Log.d(TAG, "int: " + dataModel.getAnInt());
// Log.d(TAG, "double: " + dataModel.getaDouble());
// Log.d(TAG, "otherData: " + dataModel.getOtherData());
Toast.makeText(parent.getContext(), "button clicked: " + dataModel.getName(), Toast.LENGTH_SHORT).show();
}
}); */
// if you commented out the above chunk of code and
// activate this chunk of code
// then if user click on any view inside the list view (except button)
// this chunk of code will execute
// because we set the click listener on the whole view
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "string: " + dataModel.getName());
// Log.d(TAG, "int: " + dataModel.getAnInt());
//Log.d(TAG, "double: " + dataModel.getaDouble());
//Log.d(TAG, "otherData: " + dataModel.getOtherData());
Toast.makeText(parent.getContext(), "view clicked: " + dataModel.getName(), Toast.LENGTH_SHORT).show();
}
});
return view;
}
public void showmessagebox(final Context context, String msg, final int position)
{
AlertDialog ad = new AlertDialog.Builder(context)
.setMessage(msg)
.setIcon(R.drawable.ic_launcher)
.setTitle("Terms of Service")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
switch(position){
case 1:
break;
case 2:
Intent intent = new Intent(context,Yes1.class);
context.startActivity(intent);
break;
case 3:
default:
}
}
})
// .setNegativeButton("No", this)
// .setNeutralButton("Cancel", this)
.setCancelable(false)
.create();
ad.show();
}
}
Read more ...
import java.util.ArrayList;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Application;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class CustomAdapter extends BaseAdapter {
private static final String TAG = CustomAdapter.class.getSimpleName();
ArrayList<DataModel> listArray;
public CustomAdapter() {
/* listArray = new ArrayList<DataModel>(5);
listArray.add(new DataModel("name1", 5, 1.8, "Java"));
listArray.add(new DataModel("name2", 10, 2.8, "Python"));
listArray.add(new DataModel("name3", 15, 3.8, "Django"));
listArray.add(new DataModel("name4", 20, 4.8, "Groovy"));
listArray.add(new DataModel("name5", 25, 5.8, "Maven")); */
listArray = new ArrayList<DataModel>(5);
listArray.add(new DataModel("Class 1",1));
listArray.add(new DataModel("Class 2",2));
listArray.add(new DataModel("Class 3",3));
listArray.add(new DataModel("Class 4",4));
listArray.add(new DataModel("Class 5",5));
}
@Override
public int getCount() {
return listArray.size(); // total number of elements in the list
}
@Override
public Object getItem(int i) {
return listArray.get(i); // single item in the list
}
@Override
public long getItemId(int i) {
return i; // index number
}
@Override
public View getView(int index, View view, final ViewGroup parent) {
if (view == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
// view = inflater.inflate(R.layout.single_list_item, parent, false);
view = inflater.inflate(R.layout.linear_test,parent,false);
}
//final DataModel dataModel = listArray.get(index);
final DataModel dataModel = listArray.get(index);
/* TextView textView = (TextView) view.findViewById(R.id.tv_string_data);
textView.setText(dataModel.getName());
Button button = (Button) view.findViewById(R.id.btn_number_data);
button.setText("" + dataModel.getAnInt());
textView = (TextView) view.findViewById(R.id.tv_double_data);
textView.setText("" + dataModel.getaDouble()); */
TextView textView = (TextView) view.findViewById(R.id.tv_question);
textView.setText(dataModel.getName());
Button btnyes = (Button) view.findViewById(R.id.button2);
Button btnno = (Button) view.findViewById(R.id.button1);
btnyes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//Toast.makeText(parent.getContext(), "Button Clicked"+ dataModel.getName(),Toast.LENGTH_LONG).show();
//Intent yes= new Intent(parent.getContext(), yes(dataModel.getName().class));
switch( dataModel.getAnInt()){
case 1:
Intent intent = new Intent(parent.getContext(),Yes1.class);
parent.getContext().startActivity(intent);
break;
case 2:
Toast.makeText(parent.getContext(), "Button Clicked"+ dataModel.getName(),Toast.LENGTH_LONG).show();
showmessagebox(parent.getContext(),dataModel.getName(),dataModel.getAnInt());
break;
case 3:
Toast.makeText(parent.getContext(), "Button Clicked"+ dataModel.getName(),Toast.LENGTH_LONG).show();
default:
}
}
});
// button click listener
// this chunk of code will run, if user click the button
// because, we set the click listener on the button only
/* button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "string: " + dataModel.getName());
// Log.d(TAG, "int: " + dataModel.getAnInt());
// Log.d(TAG, "double: " + dataModel.getaDouble());
// Log.d(TAG, "otherData: " + dataModel.getOtherData());
Toast.makeText(parent.getContext(), "button clicked: " + dataModel.getName(), Toast.LENGTH_SHORT).show();
}
}); */
// if you commented out the above chunk of code and
// activate this chunk of code
// then if user click on any view inside the list view (except button)
// this chunk of code will execute
// because we set the click listener on the whole view
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "string: " + dataModel.getName());
// Log.d(TAG, "int: " + dataModel.getAnInt());
//Log.d(TAG, "double: " + dataModel.getaDouble());
//Log.d(TAG, "otherData: " + dataModel.getOtherData());
Toast.makeText(parent.getContext(), "view clicked: " + dataModel.getName(), Toast.LENGTH_SHORT).show();
}
});
return view;
}
public void showmessagebox(final Context context, String msg, final int position)
{
AlertDialog ad = new AlertDialog.Builder(context)
.setMessage(msg)
.setIcon(R.drawable.ic_launcher)
.setTitle("Terms of Service")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
switch(position){
case 1:
break;
case 2:
Intent intent = new Intent(context,Yes1.class);
context.startActivity(intent);
break;
case 3:
default:
}
}
})
// .setNegativeButton("No", this)
// .setNeutralButton("Cancel", this)
.setCancelable(false)
.create();
ad.show();
}
}


