创建自定义 OnClickListener

2023-11-25

我有一个按钮数组列表,我的 OCL 需要知道我按下了哪个索引。 计划是这样的:

MyOnClickListener onClickListener = new MyOnClickListener() {

        @Override
        public void onClick(View v) {
            
            Intent returnIntent = new Intent();
            returnIntent.putExtra("deleteAtIndex",idx);
            setResult(RESULT_OK, returnIntent);
            finish();

        }
    };
    for (int i =0;i<buttonList.size();i++) {
        buttonList.get(i).setText("Remove");
        buttonList.get(i).setOnClickListener(onClickListener);
    }

我的 OCL 实现应该是什么样子?

目前我有这个:

    public class MyOnClickListener implements OnClickListener{
    
    int index;
    
    public MyOnClickListener(int index)
    {
        this.index = index;
    }

    @Override
    public void onClick(View arg0) {
        
        
    }
}

然而,我不确定我需要在 OCL 的构造函数中做什么,以及重写onClick功能。


set setOnClickListener按钮为:

buttonList.get(i).setOnClickListener(new MyOnClickListener(i));

EDIT :

我需要在 myOCL 中完成一项活动,我该怎么做?

要从非 Activity 类完成按钮单击上的 Activity,您需要将 Activity Context 传递给自定义 OnClickListener,如下所示:

buttonList.get(i).setOnClickListener(new MyOnClickListener(i, Your_Current_Activity.this));

并将自定义 OnClickListener 类的构造函数更改为:

int index;
Context context; 
public MyOnClickListener(int index,Context context)
{
    this.index = index;
    this.context=context;
}

@Override
public void onClick(View arg0) {

    // now finish Activity as\
    context.finish();
      //  OR
        // ((Activity)context).finish();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建自定义 OnClickListener 的相关文章

随机推荐