我有一个带有自定义适配器的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(...);
             }
         });
     }
}

07-24 09:49
查看更多