我有一个带有自定义适配器的ListActivity,并且在每个 View 内部,它可能都有一些按钮,需要在其中实现OnClickListener
。我需要在适配器中实现OnClickListener
。但是,我不知道如何调用startActivity()
或setResult()
这样的函数。由于适配器不会扩展到 Activity 。
那么解决此问题的最佳方法是什么?
谢谢。
最佳答案
只需将当前上下文传递给Adapter构造函数并将其存储为字段即可。然后在onClick内部,您可以使用该上下文调用startActivity()。
伪码
public class MyAdapter extends Adapter {
private Context context;
public MyAdapter(Context context) {
this.context = context;
}
public View getView(...){
View v;
v.setOnClickListener(new OnClickListener() {
void onClick() {
context.startActivity(...);
}
});
}
}