Monday 21 November 2016

Expandable List Example

Expandable List Example



MainActivity.java

package com.mihir.expandablelist;



import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.ExpandableListView;

import android.widget.ExpandableListView.OnChildClickListener;

import android.widget.ExpandableListView.OnGroupClickListener;

import android.widget.ExpandableListView.OnGroupCollapseListener;

import android.widget.ExpandableListView.OnGroupExpandListener;

import android.widget.Toast;



public class MainActivity extends Activity {



   ExpandableListAdapter listAdapter;

   ExpandableListView expListView;

   List<String> listDataHeader;

   HashMap<String, List<String>> listDataChild;



   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);



      // get the listview

      expListView = (ExpandableListView) findViewById(R.id.lvExp);



      // preparing list data

      prepareListData();



      listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);



      // setting list adapter

      expListView.setAdapter(listAdapter);



      // Listview Group click listener

      expListView.setOnGroupClickListener(new OnGroupClickListener() {



         @Override

         public boolean onGroupClick(ExpandableListView parent, View v,

               int groupPosition, long id) {

             Toast.makeText(getApplicationContext(),

            "Group Clicked " + listDataHeader.get(groupPosition),

            Toast.LENGTH_SHORT).show();

            return false;

         }

      });



      // Listview Group expanded listener

      expListView.setOnGroupExpandListener(new OnGroupExpandListener() {



         @Override

         public void onGroupExpand(int groupPosition) {

            Toast.makeText(getApplicationContext(),

                  listDataHeader.get(groupPosition) + " Expanded",

                  Toast.LENGTH_SHORT).show();

         }

      });



      // Listview Group collasped listener

      expListView.setOnGroupCollapseListener(new OnGroupCollapseListener() {



         @Override

         public void onGroupCollapse(int groupPosition) {

            Toast.makeText(getApplicationContext(),

                  listDataHeader.get(groupPosition) + " Collapsed",

                  Toast.LENGTH_SHORT).show();

         }

      });



      // Listview on child click listener

      expListView.setOnChildClickListener(new OnChildClickListener() {



         @Override

         public boolean onChildClick(ExpandableListView parent, View v,

               int groupPosition, int childPosition, long id) {

            // TODO Auto-generated method stub

            Toast.makeText(

                  getApplicationContext(),

                  listDataHeader.get(groupPosition)

                        + " : "

                        + listDataChild.get(

                              listDataHeader.get(groupPosition)).get(

                              childPosition), Toast.LENGTH_SHORT)

                  .show();

            return false;

         }

      });

   }



   /*Preparing the list data*/

   private void prepareListData() {

      listDataHeader = new ArrayList<String>();

      listDataChild = new HashMap<String, List<String>>();



      // Adding child data

      listDataHeader.add("expandable header 1");

      listDataHeader.add("expandable header 2");

      listDataHeader.add("expandable header 3");



      // Adding child data

      List<String> exphead1 = new ArrayList<String>();

      exphead1.add("item a");

      exphead1.add("item b");

      exphead1.add("item c");

      exphead1.add("item d");

      



      List<String> exphead2 = new ArrayList<String>();

      exphead2.add("item 1");

      exphead2.add("item 2");

      exphead2.add("item 3");

      exphead2.add("item 4");

      

      List<String> exphead3 = new ArrayList<String>();

      exphead3.add("item q");

      exphead3.add("item w");

      exphead3.add("item e");

      exphead3.add("item r");

      exphead3.add("item t");

      exphead3.add("item y");



      listDataChild.put(listDataHeader.get(0), exphead1); // Header, Child data

      listDataChild.put(listDataHeader.get(1), exphead2);

      listDataChild.put(listDataHeader.get(2), exphead3);

   }

}

ExpandableListAdapter.java

package com.mihir.expandablelist;



import java.util.HashMap;

import java.util.List;

import android.content.Context;

import android.graphics.Typeface;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseExpandableListAdapter;

import android.widget.TextView;



public class ExpandableListAdapter extends BaseExpandableListAdapter {



   private Context _context;

   private List<String> _listDataHeader; // header titles

   // child data in format of header title, child title

   private HashMap<String, List<String>> _listDataChild;



   public ExpandableListAdapter(Context context, List<String> listDataHeader,

         HashMap<String, List<String>> listChildData) {

      this._context = context;

      this._listDataHeader = listDataHeader;

      this._listDataChild = listChildData;

   }



   @Override

   public Object getChild(int groupPosition, int childPosititon) {

      return this._listDataChild.get(this._listDataHeader.get(groupPosition))

            .get(childPosititon);

   }



   @Override

   public long getChildId(int groupPosition, int childPosition) {

      return childPosition;

   }



   @Override

   public View getChildView(int groupPosition, final int childPosition,

         boolean isLastChild, View convertView, ViewGroup parent) {



      final String childText = (String) getChild(groupPosition, childPosition);



      if (convertView == null) {

         LayoutInflater infalInflater = (LayoutInflater) this._context

               .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

         convertView = infalInflater.inflate(R.layout.list_item, null);

      }



      TextView txtListChild = (TextView) convertView

            .findViewById(R.id.lblListItem);



      txtListChild.setText(childText);

      return convertView;

   }



   @Override

   public int getChildrenCount(int groupPosition) {

      return this._listDataChild.get(this._listDataHeader.get(groupPosition))

            .size();

   }



   @Override

   public Object getGroup(int groupPosition) {

      return this._listDataHeader.get(groupPosition);

   }



   @Override

   public int getGroupCount() {

      return this._listDataHeader.size();

   }



   @Override

   public long getGroupId(int groupPosition) {

      return groupPosition;

   }



   @Override

   public View getGroupView(int groupPosition, boolean isExpanded,

         View convertView, ViewGroup parent) {

      String headerTitle = (String) getGroup(groupPosition);

      if (convertView == null) {

         LayoutInflater infalInflater = (LayoutInflater) this._context

               .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

         convertView = infalInflater.inflate(R.layout.list_group, null);

      }



      TextView lblListHeader = (TextView) convertView

            .findViewById(R.id.lblListHeader);

      lblListHeader.setTypeface(null, Typeface.BOLD);

      lblListHeader.setText(headerTitle);



      return convertView;

   }



   @Override

   public boolean hasStableIds() {

      return false;

   }



   @Override

   public boolean isChildSelectable(int groupPosition, int childPosition) {

      return true;

   }



}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical"

    android:background="#f4f4f4" >



    <ExpandableListView

        android:id="@+id/lvExp"

        android:layout_height="match_parent"

        android:layout_width="match_parent"

        android:cacheColorHint="#000000" />



</LinearLayout>

list_group.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:orientation="vertical"

    android:padding="8dp" 

    android:background="#000000">



    <TextView

        android:id="@+id/lblListHeader"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"

        android:textSize="17dp"

        android:textColor="#ffffff" />



</LinearLayout>
list_item.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="55dip"

    android:orientation="vertical" >



    <TextView

        android:id="@+id/lblListItem"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:textSize="17dip"

        android:paddingTop="5dp"

        android:paddingBottom="5dp"

        android:textColor="#000000"

        android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft" />



</LinearLayout>

Friday 4 November 2016

Android ViewPager Eaxmple

Android View Pager Example

Take dependencies in buid.gradle file

compile 'com.android.support:design:23.1.1'

MainActivity.java
package com.example.admin.imageview;



import android.app.Activity;

import android.os.Bundle;

import android.support.v4.view.PagerAdapter;

import android.support.v4.view.ViewPager;

import android.view.Menu;



public class MainActivity extends Activity {



    ViewPager viewPager;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        viewPager = (ViewPager) findViewById(R.id.viewPager);

        PagerAdapter adapter = new CustomAdapter(MainActivity.this);

        viewPager.setAdapter(adapter);

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

}

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"



    tools:context="com.example.admin.imageview.MainActivity">



    <android.support.v4.view.ViewPager

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:id="@+id/viewPager">

    </android.support.v4.view.ViewPager>



</RelativeLayout>

CustomAdapter.java
package com.example.admin.imageview;



import android.app.Activity;

import android.content.Context;

import android.support.v4.view.PagerAdapter;

import android.support.v4.view.ViewPager;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ImageView;



public class CustomAdapter extends PagerAdapter {

    Context context;

    int[] imageId = {R.drawable.image1, R.drawable.image2, R.drawable.image3};

    public CustomAdapter(Context context){

        this.context = context;

    }

    @Override

    public Object instantiateItem(ViewGroup container, int position) {

        // TODO Auto-generated method stub

        LayoutInflater inflater = ((Activity)context).getLayoutInflater();



        View viewItem = inflater.inflate(R.layout.image_item, container, false);

        ImageView imageView = (ImageView) viewItem.findViewById(R.id.imageView);

        imageView.setImageResource(imageId[position]);

        ((ViewPager)container).addView(viewItem);

        return viewItem;

    }



    @Override

    public int getCount() {

        // TODO Auto-generated method stub

        return imageId.length;

    }

    @Override

    public boolean isViewFromObject(View view, Object object) {

        // TODO Auto-generated method stub

        return view == ((View)object);

    }



    @Override

    public void destroyItem(ViewGroup container, int position, Object object) {

        // TODO Auto-generated method stub

        ((ViewPager) container).removeView((View) object);

    }



}

image_item.xml
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical" android:layout_width="match_parent"

    android:layout_height="match_parent">



    <ImageView

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:id="@+id/imageView"/>

</LinearLayout>


Now your viewpager is ready to run.  Thank you!

CCAvenue Payment Gateway Android Integration

CCAvenue Payment Gateway Android Integration CCAvenue payment gateway android integration using PHP RSA and Response Handling. An...