如何在适配器中启动Activity?

2023-11-23

我有一个带有自定义适配器的 ListActivity,并且在每个视图内,它可能有一些按钮,我需要在其中实现OnClickListener。我需要实施OnClickListener在适配器中。但是,我不知道如何调用该函数startActivity() or setResult()。由于适配器没有扩展到 Activity。

那么解决这个问题的最佳方法是什么?

Thanks.


只需将当前 Context 传递给 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(...);
             }
         });
     }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在适配器中启动Activity? 的相关文章

随机推荐