2010-12-07 85 views
0

我有一个ListView,我有我自己定制的ListItem我正在对他们应用动作侦听器,但他们没有响应事件。setOnClickListener不工作里面CustomAdapter扩展ArrayAdapter

private class CustomAdapter extends ArrayAdapter<FriendInfo> { 

     public CustomAdapter (Context context, int textViewResourceId, 
       ArrayList<FriendInfo> friendList) { 
      super(context, textViewResourceId, friendList); 


     } 

     public View getView(int position, View convertView, ViewGroup parent) { 
      View v = convertView;   

      try { 
       if (v == null) { 
        LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
        v = vi.inflate(R.layout.friend_item, null); 
       }    

       if(isViewInvitations){ 
        Button btn_AcceptFrndReq = (Button)v.findViewById(R.id.btnAcceptFrndReq); 
        Button btn_DelFrnd = (Button)v.findViewById(R.id.btnDelFrnd); 
        btn_DelFrnd.setClickable(true); 
        btn_AcceptFrndReq.setVisibility(View.VISIBLE); 
        btn_DelFrnd.setVisibility(View.VISIBLE); 


        btn_AcceptFrndReq.setOnClickListener(new OnClickListener() { 
         public void onClick(View arg0) {      
          Toast.makeText(getContext(), "Accept", Toast.LENGTH_LONG); 

         } 
        }); 
        btn_DelFrnd.setOnClickListener(new OnClickListener() { 
         public void onClick(View arg0) {   
          //do delete call here in new thread 
          Toast.makeText(context, "Delete", Toast.LENGTH_LONG); 
         } 
        }); 

       } 
+1

@Ajzaz背景:您能否将您的完整代码发布在pastebin.com – 2010-12-07 09:52:50

回答

3

1一点需要注意的是,当你创建你的面包,你没有表现出来。

变化:

Toast.makeText(getContext(), "Accept", Toast.LENGTH_LONG); 

Toast.makeText(getContext(), "Accept", Toast.LENGTH_LONG).show(); 

如果敬酒还是犯规露面,尝试获得来自View传递给onClick

Toast.makeText(arg0.getContext(), "Accept", Toast.LENGTH_LONG).show(); 
0
implements View.OnClickListener and override public void onClick(View v) { method 

and all done