Android 单击ListViewFragment的按钮

Android 单击ListViewFragment的按钮,android,listview,onclicklistener,android-listfragment,Android,Listview,Onclicklistener,Android Listfragment,我有一个片段,它扩展了使用自定义适配器的ListFragment 列表视图的每一行都有一个按钮,我知道在适配器中 getViewmethod我可以为按钮设置一个侦听器,如下所示: @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; //View lookup cached stored in tag. if(convert

我有一个片段,它扩展了使用自定义适配器的ListFragment

列表视图的每一行
都有一个
按钮
,我知道在
适配器中

getView
method我可以为按钮设置一个侦听器,如下所示:

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder viewHolder; //View lookup cached stored in tag.
    if(convertView == null){
        viewHolder = new ViewHolder();
        LayoutInflater inflater = LayoutInflater.from(getContext());
        convertView = inflater.inflate(R.layout.pay_debit_credit_item, parent, false);
        viewHolder.makePayment = (Button) convertView.findViewById(R.id.paymentButton);
        viewHolder.makePayment.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(), "Hellooo", Toast.LENGTH_SHORT).show();
            }
        });
        convertView.setTag(viewHolder);
    } else {
        viewHolder = (ViewHolder) convertView.getTag();
    }

    //...
    //Return view to be rendered.
    return convertView;
} 

这很好,但是如何通知正在使用此适配器的片段位置x的按钮已被单击?

首先创建一个界面:

public interface IClickListener {
    public void clicked(View view,int position);
}
然后在适配器类中实例化它:

IClickListener clicListener;
    public ListAdapterConstructor(Context context, Cursor c,IClickListener listener) {
        super(context, c);
        mContext = context;
        this.clicListener = listener;
    }
在为按钮单击事件时设置的getView方法中:

viewHolder.button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                clicListener.clicked(v,po);
                }
        });
并至少更改片段以实现事件侦听器:

public class YourFragment extends Fragment implements IClickListener {

首先创建一个接口:

public interface IClickListener {
    public void clicked(View view,int position);
}
然后在适配器类中实例化它:

IClickListener clicListener;
    public ListAdapterConstructor(Context context, Cursor c,IClickListener listener) {
        super(context, c);
        mContext = context;
        this.clicListener = listener;
    }
在为按钮单击事件时设置的getView方法中:

viewHolder.button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                clicListener.clicked(v,po);
                }
        });
并至少更改片段以实现事件侦听器:

public class YourFragment extends Fragment implements IClickListener {

你应该看看这个你应该看看这个啊。。我一直在为片段到活动的交互使用接口,但没有为适配器到片段的交互使用接口连接点。非常感谢。啊。。我一直在为片段到活动的交互使用接口,但没有为适配器到片段的交互使用接口连接点。非常感谢。