Monday, 15 April 2013

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ListView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/list01"
        android:layout_margin="5dip"
        style="@style/mylist"
        android:listSelector="@drawable/list_selector"
        android:background="@drawable/listviewbackground"
     />
        <!-- android:listSelector="#00000000" -->
     

</LinearLayout>


singlerow.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" >
   

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:layout_margin="5dip"
    android:background="@drawable/login_bg"
    android:gravity="center_horizontal"
    >
    <TextView
        android:id="@+id/singlerownameid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:maxWidth="10dip"
        android:text="Name"
        android:textStyle="bold" />
    <TextView
        android:id="@+id/singlerowaddressid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:gravity="right"
        android:maxWidth="10dip"
        android:text="Address"
        android:textStyle="bold" />
</LinearLayout>

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
   
    gradient_bg_cover.xml


  <gradient
      android:startColor="#18d7e5"
      android:centerColor="#16cedb"
      android:endColor="#09adb9"
      android:angle="270" />
   <stroke
      android:width="1.0dip"
      android:color="#18d7e5" />
   <corners
      android:radius="8.0dip" />
   <padding
       android:top="5dip"
       />
</shape>


gradient_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
   
  <gradient
      android:startColor="#f1f1f2"
      android:centerColor="#e7e7e8"
      android:endColor="#cfcfcf"
      android:angle="270" />
 
  <stroke
      android:width="1.0dip"
      android:color="#f1f1f2" />
  <corners
      android:radius="8.0dip" />


</shape>


login_bg.xml


<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:startColor="#ff545454" android:endColor="#ff545454" android:angle="270.0" />
    <stroke android:width="1.0dip" android:color="#ff5e5e5e" />
    <corners android:radius="8.0dip" />
</shape>


listselector.xml


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
     android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/gradient_bg" />

    <item android:state_pressed="true"
        android:drawable="@drawable/gradient_bg_hover" />

    <item android:state_selected="true"
     android:state_pressed="false"
        android:drawable="@drawable/gradient_bg_hover" />
</selector>


Items.java

package customBaseAdapterExample;

public class Items {
   
    String name="",address="";
   
    public Items(String name,String address){
        this.name = name;
        this.address = address;
    }
   
    public void setname(String name){
       
        this.name = name;
       
    }
   
    public void setaddress(String address){
       
        this.address = address;
    }
   
    public String getname(){
       
        return this.name;
    }
   
    public String getaddress(){
       
        return this.address;
    }
   
   

}


CustomAdapter.java

package customBaseAdapterExample;

import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.example1.customlistview.R;

public class CustomAdapter  extends BaseAdapter{

    private ArrayList<Items> arrayList;
    private LayoutInflater mInflater;
    Context context1;
   
   
   
    public CustomAdapter(Context context,ArrayList<Items> list) {
      
   
        this.context1 = context;
        this.arrayList = list;
        mInflater = (LayoutInflater)context1.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   
    }
   
    @Override
    public int getCount() {
      
        return arrayList.size();
    }

    @Override
    public Object getItem(int position) {
      
        return arrayList.get(position);
    }

    @Override
    public long getItemId(int position) {
      
        return position;
    }

    @Override
    public View getView(int position, View convertview, ViewGroup parent) {
      
        ViewHolder viewHolder = null;
        Items items = (Items) getItem(position);
        if(convertview == null){
          
            convertview = mInflater.inflate(R.layout.singlerow,null);
            viewHolder = new ViewHolder();
            viewHolder.textView = (TextView)convertview.findViewById(R.id.singlerownameid);
            viewHolder.textviewaddress = (TextView)convertview.findViewById(R.id.singlerowaddressid);
            convertview.setTag(viewHolder);
        }
        else{
            viewHolder=(ViewHolder) convertview.getTag();
        }
      
        viewHolder.textView.setText(items.getname());
        viewHolder.textviewaddress.setText(items.getaddress());
      
        return convertview;
    }

    public static class ViewHolder {
      
        TextView textView,textviewaddress;
    }
   
}


CustomList.java
 package com.example1.customlistview;

import java.util.ArrayList;

import customBaseAdapterExample.CustomAdapter;
import customBaseAdapterExample.Items;

import android.os.Bundle;
import android.app.Activity;
import android.app.ListActivity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class CustomList extends Activity implements  OnItemClickListener {

  
    ListView listview;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_custom_list);
      
        listview = (ListView )findViewById(R.id.list01);
        ArrayList<Items> list = new ArrayList<Items>();
        list.add(new Items("EEEE", "MDU"));
        list.add(new Items("SSSS", "MDU"));
        list.add(new Items("HHHH", "MDU"));
      
        CustomAdapter adapter = new CustomAdapter(this,list);
        listview.setAdapter(adapter);
        listview.setOnItemClickListener(this);
    }
  

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_custom_list, menu);
        return true;
    }


    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
      
        Toast.makeText(CustomList.this ,arg2+"" ,Toast.LENGTH_SHORT).show();
      
    }


  
}








No comments:

Post a Comment