0

我有一个 ListView 和我自己的自定义 ListItem 我正在对它们应用动作侦听器,但它们没有响应事件。

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

                }
4

2 回答 2

3

需要注意的一件事是,当您创建吐司时,您不会显示它。

改变:

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

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

如果 toast 仍然没有出现,请尝试从View传递给onClick

Toast.makeText(arg0.getContext(), "Accept", Toast.LENGTH_LONG).show();
于 2010-12-07T13:18:30.683 回答
0
implements View.OnClickListener and override public void onClick(View v) { method 

and all done 
于 2010-12-07T12:38:08.597 回答