Andriod learning the listview using the Basics

Source: Internet
Author: User

1. Simple usage of the ListView

1.1 Layout

<linearlayout xmlns:android= "Http://schemas.android.com/apk/res/android"
Android:layout_width= "Match_parent"
android:layout_height= "Match_parent" >
<listview
Android:id= "@+id/listview1"
Android:layout_width= "Match_parent"
android:layout_height= "Match_parent" >
</ListView>
</LinearLayout>

1.2 Code

public class Mainactivity extends Activity {

Private string[] data={"One", "one", "one", "three", "four", "Five", "Six", "Seven", "Eight", "Nine"};
@Override
protected void OnCreate (Bundle savedinstancestate) {
Super.oncreate (savedinstancestate);
Setcontentview (R.layout.activity_main);
Arrayadapter<string> adapter=new arrayadapter<string> (mainactivity.this,android. R.layout.simple_list_item_1,data);
ListView listview= (ListView) Findviewbyid (R.id.listview1);
Listview.setadapter (adapter);

Handling Click events
Listview.setonitemclicklistener (New Onitemclicklistener () {

@Override
public void Onitemclick (adapterview<?> arg0, View arg1, int arg2,
Long Arg3) {
TODO auto-generated Method Stub
String STRING=DATA[ARG2];
Toast.maketext (Mainactivity.this, String, Toast.length_short). Show ();
}
});
}

}

2. Customizing the ListView Interface

2.1 New MyData class, as a fit type for the ListView adapter

public class mydata{
Private String datastring;
private int imageId;
Public MyData (String datastring,int imageId) {
TODO auto-generated Constructor stub
this.datastring=datastring;
This.imageid=imageid;
}
Public String getdatastring () {
return datastring;
}
public int Getimageid () {
return imageId;
}
}

2.2 Specify a custom layout for the ListView subkey Mydata_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= "Match_parent" >

<imageview
Android:id= "@+id/mydataimage"
Android:layout_width= "Wrap_content"
android:layout_height= "Wrap_content" >
</ImageView>

<textview
Android:id= "@+id/mydatastring"
Android:layout_width= "Wrap_content"
android:layout_height= "Wrap_content"
android:layout_marginleft= "10dip"
android:gravity= "Center"/>

</LinearLayout>

2.3 Custom Adapter Classes

public class MyDataAdapter extends arrayadapter<mydata>{

private int resourceId;
Public MyDataAdapter (Context context,int textviewresourceid,list<mydata> objects) {
Super (context, textviewresourceid,objects);
Resourceid=textviewresourceid;
}

@Override
Public View GetView (int position, View Convertview, ViewGroup parent) {
TODO auto-generated Method Stub
MyData Data=getitem (position);
View view;
if (convertview==null) {
View=layoutinflater.from (GetContext ()). Inflate (resourceId, NULL);
}
else {
View=convertview;
}
ImageView dataimageview= (ImageView) View.findviewbyid (r.id.mydataimage);
TextView datastringtextview= (TextView) View.findviewbyid (r.id.mydatastring);
Dataimageview.setimageresource (Data.getimageid ());
Datastringtextview.settext (Data.getdatastring ());
return view;
}

}

2.4 Modifying the Mainactivity code

public class Mainactivity extends Activity {

Private list<mydata> datalist=new arraylist<mydata> ();
@Override
protected void OnCreate (Bundle savedinstancestate) {
Super.oncreate (savedinstancestate);
Setcontentview (R.layout.activity_main);
InitData ();
MyDataAdapter adapter=new MyDataAdapter (mainactivity.this, R.layout.mydata_item, dataList);
ListView listview= (ListView) Findviewbyid (R.id.listview1);
Listview.setadapter (adapter);
Listview.setonitemclicklistener (New Onitemclicklistener () {

@Override
public void Onitemclick (adapterview<?> arg0, View arg1, int arg2,
Long Arg3) {
TODO auto-generated Method Stub
MyData Data=datalist.get (ARG2);
Toast.maketext (Mainactivity.this, data.getdatastring (), Toast.length_short). Show ();
}
});
}

private void InitData () {
TODO auto-generated Method Stub
MyData one=new MyData ("One", R.drawable.one);
MyData two=new MyData ("a", r.drawable.two);
MyData three=new MyData ("three", R.drawable.three);
MyData four=new MyData ("Four", R.drawable.four);
MyData five=new MyData ("Five", r.drawable.five);
MyData six=new MyData ("Six", R.drawable.six);
MyData seven=new MyData ("Seven", R.drawable.seven);
MyData eight=new MyData ("Eight", r.drawable.eight);
MyData nine=new MyData ("Nine", R.drawable.nine);
Datalist.add (one);
Datalist.add (both);
Datalist.add (three);
Datalist.add (four);
Datalist.add (five);
Datalist.add (six);
Datalist.add (seven);
Datalist.add (eight);
Datalist.add (nine);
}

@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;
}

}

Andriod Learning ListView Usage Basics

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.