2010-12-07 5 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

한 것은 당신이 당신의 토스트를 만들 때, 당신이 그것을 보여주지 않는다는 것입니다.

변경 :

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

토스트가 여전히 표시 나던 경우

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

에, 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 
관련 문제