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