2010-12-07 8 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に渡されViewからコンテキストを取得してみてください。あなたは完全なコードをpastebin.comに投稿できますか? –

+0

Thnx Shankar g :) –

答えて

3

1注意すべき事は、あなたのトーストを作成するとき、あなたはそれを示さないということです。

変更:

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

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

トーストはまだ現れdoesntの場合は、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 
関連する問題