Android Combat Simple Tutorial-15th Gun (implement button click event Monitoring in the ListView)

Source: Internet
Author: User

1.main.xml

<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 "    android:paddingbottom= "@dimen/activity_vertical_margin"    android:paddingleft= "@dimen/activity_ Horizontal_margin "    android:paddingright=" @dimen/activity_horizontal_margin "    android:paddingtop=" @dimen /activity_vertical_margin "    tools:context=". Mainactivity ">    <listview        android:id=" @+id/listview "        android:layout_width=" Match_parent "        android:layout_height= "Match_parent" >    </ListView></RelativeLayout>

2.listitem.xml

<?xml version= "1.0" encoding= "Utf-8"? ><relativelayout xmlns:android= "http://schemas.android.com/apk/res/ Android "    android:layout_width=" match_parent "    android:layout_height=" Wrap_content "    android: Descendantfocusability= "blocksdescendants"    android:orientation= "Horizontal" >    <textview        Android:id= "@+id/textview1"        android:layout_width= "wrap_content"        android:layout_height= "Wrap_content"        android:text= "Content"        android:textcolor= "#ff0000"        android:textsize= "20sp"/>    <button        android:id= "@+id/button1"        android:layout_width= "wrap_content"        android:layout_height= "Wrap_ Content "        android:focusable=" false "        android:layout_alignparentright=" true "        android:text=" button "        android:textcolor= "#ff0000"        android:textsize= "20SP"/></relativelayout>
3.ContentAdapter

Package Com.example.listviewchangetext;import Java.util.list;import Android.content.context;import Android.util.log;import Android.view.layoutinflater;import Android.view.view;import Android.view.view.onclicklistener;import Android.view.viewgroup;import Android.widget.baseadapter;import Android.widget.button;import Android.widget.textview;public class Contentadapter extends Baseadapter {private static F    inal String TAG = "Contentadapter";    Private list<string> mcontentlist;    Private Layoutinflater Minflater;    Private Myclicklistener Mlistener;        Public Contentadapter (context context, List<string> contentlist,//constructor Method Myclicklistener listener) {        Mcontentlist = ContentList;        Minflater = Layoutinflater.from (context);    Mlistener = listener;        } @Override public int getcount () {log.i (TAG, "GetCount");    return Mcontentlist.size ();    } @Override public Object getItem (int position) {log.i (TAG, "GetItem");    return Mcontentlist.get (position);        } @Override public long getitemid (int position) {log.i (TAG, "Getitemid");    return position;        } @Override public View getView (int position, view Convertview, ViewGroup parent) {LOG.I (TAG, "GetView");        Viewholder holder = null;            if (Convertview = = null) {Convertview = minflater.inflate (R.layout.listitem, NULL);            Holder = new Viewholder ();            Holder.textview = (TextView) convertview. Findviewbyid (R.id.textview1);            Holder.button = (Button) Convertview.findviewbyid (R.id.button1);        Convertview.settag (holder);        } else {holder = (Viewholder) convertview.gettag ();        } holder.textView.setText (Mcontentlist.get (position));        Holder.button.setOnClickListener (Mlistener);        Holder.button.setTag (position);    return convertview;        } public class Viewholder {public TextView TextView;Public button button; }/** * Abstract class for callbacks * @author Ivan Xu * 2014-11-26 * * * public static abstract class Myclicklistener Impl Ements Onclicklistener {/** * base class's OnClick method */@Override public void onclick (View v)        {Myonclick (Integer) V.gettag (), v);    } public abstract void Myonclick (int position, View v); }}

4.mainactivity.java

Package Com.example.listviewchangetext;import Java.util.arraylist;import Java.util.list;import Android.app.activity;import Android.os.bundle;import Android.view.menu;import Android.view.View;import Android.widget.adapterview;import Android.widget.adapterview.onitemclicklistener;import Android.widget.ListView; Import Android.widget.toast;import Com.example.listviewchangetext.contentadapter.myclicklistener;public class Mainactivity extends Activity implements Onitemclicklistener {//Simulate data loaded in ListView private static final string[] CON    Tents = {"Beijing", "Shanghai", "Guangzhou", "Shenzhen", "Suzhou", "Nanjing", "Wuhan", "Changsha", "Hangzhou"};    Private list<string> ContentList;    Private ListView Mlistview;        @Override protected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate);        Setcontentview (R.layout.activity_main);    Init ();        } private void Init () {Mlistview = (ListView) Findviewbyid (R.id.listview); ContentList = new Arraylist<string> ();        for (int i = 0; i < contents.length; i++) {Contentlist.add (contents[i]);                }//Instantiate the Contentadapter class and pass in the implementation class Mlistview.setadapter (new Contentadapter (this, ContentList, Mlistener));    Mlistview.setonitemclicklistener (this);        @Override public boolean Oncreateoptionsmenu (Menu menu) {getmenuinflater (). Inflate (R.menu.main, menu);    return true;        }//Response item Click event @Override public void Onitemclick (adapterview<?> arg0, View v, int position, long ID) { Toast.maketext (This, "The ListView item is clicked!    , click the location--"+ position, Toast.length_short). Show ();        }/** * Implementation class, Response button click event */private Myclicklistener Mlistener = new Myclicklistener () {@Override                    public void Myonclick (int position, View v) {toast.maketext (Mainactivity.this, "The button inside the ListView has been clicked!"                           , location is-"+ position +", content is-" + contentlist.get (position), Toast.length_short). Show (); }    };}
5. Run the following example:



Welcome attention

Android Combat Simple Tutorial-15th Gun (implement button click event Monitoring in the ListView)

Related Article

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.