Adr*_*ndl 9 android onclicklistener
我有一个按钮的ArrayList,我的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);
}
Run Code Online (Sandbox Code Playgroud)
我的OCL实现需要怎么样?
目前我有这个:
public class MyOnClickListener implements OnClickListener{
int index;
public MyOnClickListener(int index)
{
this.index = index;
}
@Override
public void onClick(View arg0) {
}
Run Code Online (Sandbox Code Playgroud)
}
但是,我不确定我在OCL的构造函数中需要做什么,以及覆盖onClick函数.
setOnClickListener按钮设置为:
buttonList.get(i).setOnClickListener(new MyOnClickListener(i));
Run Code Online (Sandbox Code Playgroud)
编辑:
我需要在myOCL中完成一项活动,我该怎么做?
完成按钮上的活动单击非活动类,您需要将活动上下文传递给自定义OnClickListener,如下所示:
buttonList.get(i).setOnClickListener(new MyOnClickListener(i, Your_Current_Activity.this));
Run Code Online (Sandbox Code Playgroud)
并将自定义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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16524 次 |
| 最近记录: |