2014-03-28 20 views
2

我想要對列表視圖按鈕..我取得使用SimpleAdapter給出代碼列表視圖點擊聽者聽者...按鈕的onclick使用SimpleAdapter的ListView不工作

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); 

但的onclick聽者不工作在這個代碼....我已經嘗試了太多,但不能解決這個問題....如果anyoone得到plz答案... 以及如何知道用戶點擊哪個按鈕id ..means列表位置...

回答

3

檢查下面的代碼

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**}); 

添加大膽場在你的代碼 Click here for code Help

3

我認爲問題是ari因爲這個ID「removeBookmark」而唱歌。

+0

你能解釋一下多一點請...... –

+0

爲什麼你在使用R.id.removeBookmark你的視圖活頁夾?因爲您沒有將此ID傳遞到您的適配器。 – Sanawaj

+0

removeBookmark是十字按鈕的ID,所以我認爲不需要通過適配器...它是靜態的。 如果你有其他的想法來實現這個邏輯PLZ給我...... –