Android Adding OnClickListener to listview -
i have been trying create settings app new rom called "prototype" , trying add onclicklistener listview cant find appropriate way , result have turned here , wondering if can show me how i'll post activity below , thanks.
package fr.xgouchet.tuto.switchpreferences; import java.util.arraylist; import java.util.list; import android.preference.preferenceactivity; import android.widget.listadapter; public class myprefsactivity extends preferenceactivity { private list<header> mheaders; protected void onresume() { super.onresume(); settitle("settings"); if (getlistadapter() instanceof myprefsheaderadapter) ((myprefsheaderadapter) getlistadapter()).resume(); } protected void onpause() { super.onpause(); if (getlistadapter() instanceof myprefsheaderadapter) ((myprefsheaderadapter) getlistadapter()).pause(); } public void onbuildheaders(list<header> target) { // called when settings screen first time // load headers our xml description loadheadersfromresource(r.xml.my_prefs_headers, target); mheaders = target; } public void setlistadapter(listadapter adapter) { int i, count; if (mheaders == null) { mheaders = new arraylist<header>(); // when saved state provides list of headers, // onbuildheaders not called // build adapter given, use our own adapter count = adapter.getcount(); (i = 0; < count; ++i) mheaders.add((header) adapter.getitem(i)); } super.setlistadapter(new myprefsheaderadapter(this, mheaders)); } }
on preferenceactivity listview hiddent behind getlistview(); the simpliest example:
listview listview = getlistview(); listview.setonitemclicklistener(new adapterview.onitemclicklistener() { public void onitemclick(adapterview<?> av, view view, int i, long l) { toast.maketext(activity.this, "mypos "+i, toast.length_long).show(); } });
code like
package fr.xgouchet.tuto.switchpreferences; import java.util.arraylist; import java.util.list; import android.preference.preferenceactivity; import android.widget.listadapter; public class myprefsactivity extends preferenceactivity { private list<header> mheaders; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); listview listview = getlistview(); listview.setonitemclicklistener(new adapterview.onitemclicklistener() { public void onitemclick(adapterview<?> av, view view, int i, long l) { toast.maketext(activity.this, "mypos "+i, toast.length_long).show(); } }); } protected void onresume() { super.onresume(); settitle("settings"); if (getlistadapter() instanceof myprefsheaderadapter) ((myprefsheaderadapter) getlistadapter()).resume(); } protected void onpause() { super.onpause(); if (getlistadapter() instanceof myprefsheaderadapter) ((myprefsheaderadapter) getlistadapter()).pause(); } public void onbuildheaders(list<header> target) { // called when settings screen first time // load headers our xml description loadheadersfromresource(r.xml.my_prefs_headers, target); mheaders = target; } public void setlistadapter(listadapter adapter) { int i, count; if (mheaders == null) { mheaders = new arraylist<header>(); // when saved state provides list of headers, // onbuildheaders not called // build adapter given, use our own adapter count = adapter.getcount(); (i = 0; < count; ++i) mheaders.add((header) adapter.getitem(i)); } super.setlistadapter(new myprefsheaderadapter(this, mheaders)); } }
Comments
Post a Comment