Monday, September 15, 2014

Dialog BOX in Custom Base Adaptor

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();   
        }
   
}

2 comments :