当前位置: 首页 > 面试题库 >

如何在适配器中启动Activity?

陶沛
2023-03-14
问题内容

我有一个带有自定义适配器的ListActivity,并且在每个视图内部,它可能都有一些按钮需要在其中实现OnClickListener。我需要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(...);
             }
         });
     }
}


 类似资料:
  • 如何在我的项目中动态创建以轮询和检索服务器中的文件?

  • 我试图通过定义从WebSecurityConfigureAdapter扩展而来的配置类,为我的自定义安全配置(LDAP JWT)创建自己的spring启动程序。但是,当我使用此初学者启动应用程序时,我会得到: 我发现由于Spring Security性的这个问题,不再可能这样做了。Spring的WebSecurityConfiguration中有一个断言: 我解决了这个问题,在启动器中添加了以下内

  • 我用grid layout manager实现了一个recycler视图来创建一个类别列表。现在,基本上我已经尝试在我的holder-inside-OnCreateViewholder方法中实现一个setOnClick侦听器。在运行代码时,我遇到了这个错误 android.util.AndroidRuntimeExcture:从活动上下文外部调用starActive()需要FLAG_ACTIVIT

  • 我想在我的列表中实现部分。我有一个任务列表。列表有一个自定义适配器,它扩展了回收器视图滑动适配器,因为我已经实现了对回收器视图的滑动手势。 现在,任务列表与已完成和待处理的任务一起显示。每个列表项都有一个复选框,显示任务已完成或挂起。 如果选中复选框,则任务完成,反之亦然。现在我想在这篇文章中用页眉做两个部分。一个用于已完成的任务,另一个用于待完成的任务。 所以完成的任务应该显示在完成的部分中,反

  • 如何使用适配器模式 横滑的滚动栏理论上应该是这个样子的: 新建一个 Swift 文件:HorizontalScroller.swift ,作为我们的横滑滚动控件, HorizontalScroller 继承自 UIView 。 打开 HorizontalScroller.swift 文件并添加如下代码: @objc protocol HorizontalScrollerDelegate { } 这

  • 问题内容: 要启动容器,我输入以下命令: 但我想在此容器中打开外壳以键入mongo命令。我应该运行什么命令来执行相同的操作? 问题答案: 您可以通过运行以下命令来运行交互式mongo shell: 否则,如果您的容器已经在运行,则可以使用以下命令: