android - Custom ListVIew and onclick -


here code - everything. did told still can`t click on nothing. mean can click nothing happens

 package fixus.core;  import java.util.arraylist; import java.util.iterator;  import android.app.listactivity; import android.content.context; import android.os.bundle; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.listview; import android.widget.textview; import android.widget.adapterview.onitemclicklistener; import fixus.lib.news; import fixus.testing.datainput;  public class newseractivity extends listactivity {     /** called when activity first created. */     @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.main);          datainput di = new datainput();         arraylist news = di.getnews();          newsarrayadapter naa = new newsarrayadapter(newseractivity.this, r.layout.row, news);         setlistadapter(naa);         listview lv = getlistview();          lv.setonitemclicklistener(new onitemclicklistener() {         public void onitemclick(adapterview parent, view view,           int position, long id) {         log.i("testy", "i clicked on row " + position + " , worked!");       }     });      }      @override     /**      * when user selects item in list, action      * @param listview l      * @param view v      * @param int position      * @param long id      */     protected void onlistitemclick(listview l, view v, int position, long id) {         super.onlistitemclick(l, v, position, id);          final int index = position;          //you can add whatever want happen when click here          log.i("testy", "i clicked on row " + index + " , worked!");      }       private class newsarrayadapter extends arrayadapter {         protected arraylist items;          public newsarrayadapter(context context, int textviewresourceid, arraylist items) {             super(context, textviewresourceid, items);             this.items = items;         }          @override         public view getview(int position, view convertview, viewgroup parent) {             view v = convertview;              if(v == null) {                 layoutinflater vi = (layoutinflater)getsystemservice(context.layout_inflater_service);                 v = vi.inflate(r.layout.row, null);             }              news news = this.items.get(position);             if(news != null) {                 textview tt = (textview) v.findviewbyid(r.id.toptext);                 textview bt = (textview) v.findviewbyid(r.id.bottomtext);                  if (tt != null) {                       tt.settext("name: "+ news.getname());                 }                 if(bt != null){                       bt.settext("status: "+ news.geturl().tostring());                 }             }              return v;         }     }  }

if know tutorial/example show me way love see :)

in list activity should following:

public class yourclass extends listactivity {     //your variables     arraylist<type> yourlist;     youradapterclass adapter;      @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         yourlist = new arraylist<type>();         this.adapter = new youradapterclass(this, r.layout.row, yourlist);         setlistadapter(this.adapter);         //you might able see if below works instead of overriding          listview lv = getlistview();          lv.setonitemclicklistener(new onitemclicklistener() {         public void onitemclick(adapterview<?> parent, view view,           int position, long id) {         log.i("testy", "i clicked on row " + position + " , worked!");       }     });     }      @override     /**      * when user selects item in list, action      * @param listview l      * @param view v      * @param int position      * @param long id      */     protected void onlistitemclick(listview l, view v, int position, long id) {         super.onlistitemclick(l, v, position, id);          final int index = position;          //you can add whatever want happen when click here          log.i("testy", "i clicked on row " + index + " , worked!");      }  //other methods can go here list   } 

you don't want have onclicklistener inside getview(...) method in list adapter, suppose modify way row looks (adding buttons, textfields, etc. each row) instead want have onclicklistener in class extends listactivity connects adapter

good luck, hope helped

//edit (adding more info)

you need 'add adapter' in oncreate method (see edited code above) should fix problem. let me know if still doesn't work though. if doesn't work can try using setonitemclicklistener code put in oncreate method instead, if still doesn't work try checking out tutorials (i'll see if can find one)


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -