我有一个带有自定义适配器的ListActivity,并且在每个视图内部,它可能都有一些按钮需要在其中实现OnClickListener。我需要OnClickListener在适配器中实现。但是,我不知道如何像startActivity()或那样调用函数setResult()。由于适配器不会扩展到活动。
OnClickListener
startActivity()
setResult()
那么解决此问题的最佳方法是什么?
谢谢。
只需将当前上下文传递给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(...); } }); } }