質問

I want to make click listner on button on listview ..i made listview using SimpleAdapter as given code...

enter image description here

SimpleAdapter adapter = new SimpleAdapter(
                        UserBookmarks.this, bookmarksList,
                        R.layout.list_view_boookmarks, new String[] { BOOKMARK_NAME , BOOKMARK_CATEGORY , BOOKMARKS_RATTING_BAR, BOOKMARKS_REVIEW_TOTAL , BOOKMARKS_CITY }, new int[] { R.id.business_name , R.id.business_category , R.id.ratting, R.id.review_count,R.id.business_city });


adapter.setViewBinder(new SimpleAdapter.ViewBinder() {
    @Override
    public boolean setViewValue(View view, Object data, String textRepresentation)
    {
        if (view.getId() == R.id.removeBookmark) 
        {
              Button b=(Button) view;
              b.setOnClickListener( new View.OnClickListener() {

                 @Override
                 public void onClick(View v) {
                     Log.d("HIiiiiiiiiiii", "Button clickeddddddddd");
                     Toast.makeText(getApplicationContext(), "Click listner called", Toast.LENGTH_SHORT).show();
                 }
             });
             return true; 
         }
        return false;
    }
 });
setListAdapter(adapter);

but onclick listner not working on this code....i have tried too much but could not solve this ....if anyoone get plz answer... and how to know on which button id user clicked..means list position...

役に立ちましたか?

解決

Check the following code

SimpleAdapter adapter = new SimpleAdapter(UserBookmarks.this, bookmarksList,
  R.layout.list_view_boookmarks, new String[] { BOOKMARK_NAME , BOOKMARK_CATEGORY ,         BOOKMARKS_RATTING_BAR, BOOKMARKS_REVIEW_TOTAL , BOOKMARKS_CITY ,**BUTTONLABEL**}, new int[] { R.id.business_name , R.id.business_category , R.id.ratting, R.id.review_count,R.id.business_city ,**R.id.removeBookmark**});

add the bold field in your code Click here for code Help

他のヒント

I think the problem is arising because of this id "removeBookmark".

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top