Getview里面的Click方法被多次调用

2024-01-02

我希望 click 方法只被调用一次,我该怎么做才能得到这个结果? 这是我的代码:

        public override View GetView(int position, View convertView, ViewGroup parent)
    {
        View result = convertView;
        if (result == null)
        {
            result = LayoutInflater.From(_Context).Inflate(Resource.Layout.DiagnoseTemplateLayout, null, false);
        }
        TextView textView = result.FindViewById<TextView>(Resource.Id.DiagnoseTemplateTextView);
        textView.Text = _Diagnoses[position].Description;
        Button button = result.FindViewById<Button>(Resource.Id.DeleteDiagnoseTemplateButton);
        button.Tag = _Diagnoses[position].Key;
        button.Click += delegate
        {
            if (_Diagnoses[position] != null)
            {
                AlertDialog.Builder builder = new AlertDialog.Builder(_Context);
                builder.SetTitle("Varning");
                builder.SetMessage("Delating selected item?");
                builder.SetPositiveButton("YES", delegate
                {
                    SuperBillAddActivity.SuperBill.Diagnoses.Remove(_Diagnoses[position]);
                    SuperBillAddActivity.RefreshLists();
                });
                builder.SetNegativeButton("NO", delegate { });
                builder.Show();
            }
        };
        return result;
    }

该方法调用3次button.Click += delegate 从我们点击按钮的位置开始

        public override View GetView(int position, View convertView, ViewGroup parent)
    {
        View result = convertView;
        if (result == null)
        {
            result = LayoutInflater.From(_Context).Inflate(Resource.Layout.DiagnoseTemplateLayout, null, false);
        }
        TextView textView = result.FindViewById<TextView>(Resource.Id.DiagnoseTemplateTextView);
        textView.Text = _Diagnoses[position].Description;
        Button button = result.FindViewById<Button>(Resource.Id.DeleteDiagnoseTemplateButton);
        button.Tag = _Diagnoses[position].Key;
        button.Click += delegate
        {
            if ((_Clicked) && (_Diagnoses[position] != null))
            {
                _Clicked = !_Clicked;
                AlertDialog.Builder builder = new AlertDialog.Builder(_Context);
                builder.SetTitle("Varning");
                builder.SetMessage("Delating selected item?");
                builder.SetPositiveButton("YES", delegate
                {
                    _Clicked = !_Clicked;
                    SuperBillAddActivity.SuperBill.Diagnoses.Remove(_Diagnoses[position]);
                    SuperBillAddActivity.RefreshLists();
                });
                builder.SetNegativeButton("NO", delegate 
                {
                    _Clicked = !_Clicked;
                });
                builder.Show();
            }
        };
        return result;
    }

_Clicked


GetView被多次调用,因此你的行为button.Click += delegate也多次。这就是为什么你接到太多电话的原因Click.

Try:

Button button;
if (result == null)
{
    result = LayoutInflater.From(_Context).Inflate(Resource.Layout.DiagnoseTemplateLayout, null, false);
    button = result.FindViewById<Button>(Resource.Id.DeleteDiagnoseTemplateButton);
    button.Click += delegate {...}

}
TextView textView = result.FindViewById<TextView>(Resource.Id.DiagnoseTemplateTextView);
textView.Text = _Diagnoses[position].Description;
button.Tag = _Diagnoses[position].Key;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Getview里面的Click方法被多次调用 的相关文章

  • 如何使用具有三种布局的视图翻转器?

    我目前正在使用ViewFlipper我的主要活动有两种不同的布局 我想使用第三种布局 但我只能找到showNext and showPrevious 命令 有人可以告诉我如何使用来实现第三种布局吗ViewFlipper 为您制作了一个示例
  • 清晰的图标 清晰的 Android 应用程序

    你好 下午好 关于如何提高图标的 png 质量 有什么想法吗 我使用了 Android 开发者页面上的套件 但我无法获得清晰的图像 我的意思是非常清晰 我是否需要以不同的方式加载此图标 而不仅仅是拖入我的布局 谢谢 我使用这个布局
  • 如何使用retrofit2动态设置超时?

    public class Router private static Retrofit retrofit null public Retrofit getRetrofit if retrofit null OkHttpClient clie
  • Android 中图像字节表示的每像素字节数

    我目前正在编写一个Android应用程序 需要在其中使用OCR 为了实现这一点 我将 Tesseract 与tesseract android tools 项目 http code google com p tesseract androi
  • 将项目添加到 android 框架的设置中

    我正在 android 框架中工作 我想向 android 操作系统中的现有设置添加一个项目 您能告诉我如何执行此操作吗 首先阅读有关偏好活动 http developer android com reference android pre
  • 如何连接到Google Play服务并加载排行榜

    我想将我的游戏与 Google Play 服务连接 我已阅读有关 Android 开发人员的文档 并尝试遵循输入数字示例 但仍然无法加载排行榜 我有导入baseGameUtils 但我使用andengine 所以我没有使用来自谷歌的exte
  • 如何最大限度地减少 Google API(地点)自动完成的请求量?

    我正在使用 google API 位置来自动完成位置AutoCompleteTextView 我做了几次测试 大概进行了 20 次搜索 在我的 google devs 个人资料中 写着我已经发出了 200 个 API 请求 据我所知 每次我
  • 将清除会话标志设置为 FALSE 后,我丢失了已发布的值

    有人有一个合乎逻辑的解释为什么尽管我有clear session flage false当我未连接到经纪商时 我没有收到我订阅的更新的已发布消息 将 aore提到的标志设置为 false 后 我运行了我的应用程序 并且我不断向主题发布一些值
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • 检测设备方向

    我需要检测 Android 设备方向变化 而无需手动处理传感器数据 同时保持活动方向坚持某个方向 onConfigurationChange不会起作用 因为会让我的活动不旋转 通过使用传感器数据来检测方向变化 我认为这是轮子的发明 因为 A
  • 如何在Room的数据库迁移中正确添加索引?

    我在迁移 Room 数据库时遇到问题 在更新的数据库中 我必须将一个字段从整数更改为双精度值 我读到它并不像听起来那么容易 为了做到这一点 我必须使用这个更改后的属性创建新的临时表 复制前一个表中的所有值 删除旧的值 最后重命名临时表 我的
  • Android 5 Lollipop 阴影方向或 y 偏移

    是否有可能改变 Y 偏移的阴影方向 现在我有以下布局
  • Grade Plugin 3-alpha1 输出文件导致错误

    我正在尝试将项目更新到 Android Studio 3 build gradle 文件中不再接受以下代码片段 applicationVariants all variant gt variant outputs each out gt d
  • 活动中列表视图中的粘滞行

    我的列表视图中只有一行应该是粘性的 而不是粘性标题中带有字母的部分或部分 我真的很感激任何关于列表视图在活动中粘性一行而不是片段的帮助 我该怎么做 我真的很感谢任何帮助 提前致谢 使用如下代码 class MyAsyncTask exten
  • Android - 检测视图上的双击和三次点击

    我一直在尝试构建一个可以检测双敲击和三敲击的敲击检测器 在我的努力失败后 我在网上搜索了很长时间以找到可以使用的东西 但没有运气 奇怪的是 像这样的图书馆如此稀缺 有什么帮助吗 你可以尝试这样的事情 尽管我通常建议不要使用三次点击作为一种模
  • 带有工具提示的搜索栏 android

    Hi All 我正在尝试使用工具提示自定义 android 搜索栏 如给定的图像 有没有办法在搜索栏中添加带有拇指的文本视图 或任何其他想法 Thanks 我们可以通过拇指的界限来做到这一点 并在seekbar的progressChange
  • FCM 主题是否适合更多用户?

    我对使用主题消息有点困惑 我的场景是根据通知触发一些作业 请帮助我更多地了解这一点 如果我们正在处理大量用户 则可以使用 FCM 主题向用户发送通知 我们可以只使用数据消息和主题消息吗 使用主题发送的消息是否保证送达 我在 FCM 文档中看
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • Retrofit 2.0:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ [重复] 处为 STRING

    这个问题在这里已经有答案了 我在邮递员上传递了更新用户请求并获得了成功的响应 参见图片 现在当我尝试使用 Retrofit 2 在我的应用程序中执行相同操作时 出现错误 com google gson JsonSyntaxException
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie

随机推荐

  • Python3 tkinter设置图像大小

    我到处寻找一种设置图像大小的方法 图像被设置为 url 我在网站上发现了其他问题 但没有一个有效 import urllib request base64 u urllib request urlopen currentWeatherIco
  • 如何修改另一个函数收到的 XMLHttpRequest 响应文本?

    我正在尝试修改我无法修改的函数收到的responseText 该函数创建了一个我可以附加到的 XMLHttpRequest 但我无法以允许我在原始函数接收之前修改内容的方式 包装 responseText 这是完整的原始函数 functio
  • 为什么在 C 中将枚举元素分配给相同的枚举变量类型时必须对其进行强制转换?

    我有以下内容 typedef enum FLS PROG SUCCESS FLS PROG FAIL FLS ERASE SUCCESS2U FLS ERASE FAIL FLS READ SUCCESS FLS READ FAIL FLS
  • 使用 vbscript 自动实现页面滚动

    我需要使用 vbscript 拍摄页面的完整快照 为此我需要向下滚动一点 实际上 我可以在快照中拍摄页面的一半 但我还需要在下一个快照中拍摄剩余部分 页面加载后我尝试使用以下内容 ie document body doScroll page
  • MySQL 中的更改数据捕获

    在我的数据库中 我想在每次更改列的值时跟踪它 以某种方式 每次字段值更改时我们都可以知道以前的值是什么 为每次更改分配时间戳会很棒 我我使用 MySQL 作为数据库服务器 我建议你看一下Debezium http debezium io 一
  • 如何将 Visual Studio 2017.3 降级到 2017.2?

    将 VS 更新到 2017 3 破坏了我的 xunit 测试发现 2017 2 一切正常 所以我正在寻找降级的方法 无法直接降级 但可以安装特定版本 使用 Visual Studio 安装程序卸载 Visual Studio 2017 从以
  • 我的组织用户对 Azure Devops 存储库的访问受到限制

    我们最近将代码移到了 azure devops 上 我们在 azure AD 中创建了用户帐户 并将相同的用户添加到 Azure Devops 中 以便他们可以访问代码 现在我们希望限制对存储库的访问 我检查了这个网址 Azure DevO
  • Firebase 云消息传递是否符合 HIPAA?

    我想在医疗保健应用程序中使用 Firebase Cloud Messaging 我想知道 FCM 是否符合 HIPAA 标准并且是否提供 BAA 我们刚刚与第三方完成了使用端到端加密的 Firestore Chat 示例应用程序 iOS 和
  • Win32 No-MFC 中的消息映射

    我如何创建类似的结构来处理 Win32 消息 就像在 MFC 中一样 In MFC BEGIN MESSAGE MAP CSkinCtrlTestDlg CDialog AFX MSG MAP CSkinCtrlTestDlg ON BN
  • 有 Ruby 语法的权威参考文档吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找有关 Ruby 语法的权威文档 我知道核心 API 和标准库的权威文档 但是语法本身呢 例如
  • 如何从左侧而不是顶部滑动导航栏?

    Bootstrap 支持从顶部切换导航栏 屏幕较小时如何从左侧滑动 例如 在上面提供的屏幕截图中 当调整屏幕大小时 导航栏会切换并从顶部向下滑动 我宁愿希望导航栏从左侧滑动 在Bootstrap中如何实现这个功能呢 目前 根据代码 导航栏从
  • Keycloak 模板可用变量

    我在谷歌上搜索了一段时间 以便找到我可以在各种 Keycloak 模板中使用的所有可用的 变量 的文档 我所说的变量是指所有的 xxx yyy 我可以用它来在模板中注入一些动态值 通过文档我可以在这里和那里找到其中的一些 例如 user a
  • cypress - 访问主站点时出现 403 禁止错误

    我正在尝试 cy visit 我的单页应用程序 该应用程序需要在浏览器中加载我的证书才能正确运行 运行测试时 它失败并出现 403 禁止错误 有一个可怕的解决方法 我在 cypress chrome 浏览器窗口中打开一个新选项卡 然后直接转
  • C++ 中指针“this+1”指的是什么?

    我正在浏览代码G2P 推理 https www i6 informatik rwth aachen de web Software g2p html并发现了一行非常奇怪的代码 public const Node childrenEnd co
  • 按服务数据 UUID 进行 BLE 扫描过滤器

    我们有使用 服务数据 128 位 UUID AD 类型信标数据的设备 0x21 对于 Android 扫描 我们通过 MAC 地址过滤 BLE 设备 效果很好 因为我们需要更大的灵活性 所以我们想通过 UUID 进行过滤 我的代码仅适用于小
  • 处理数学函数中的错误

    数学相关函数中错误处理的良好做法是什么 我正在构建一个专门函数的库 模块 我的主要目的是使调用这些函数的代码更容易调试 而不是创建一个闪亮的用户友好的错误处理工具 下面是 VBA 中的一个简单示例 但我也有兴趣听到其他语言的信息 我不太确定
  • 创建帖子时创建 Woocommerce 产品

    我在我的 WordPress 网站上使用 Woocommerce 我在我的网站上销售各种物品 我想要的是 每次我创建有关特定商品的小帖子时 它还会创建一个 Woocommerce 产品页面 其中包含可供出售的商品 例如 我创建了一篇关于定制
  • 在实体框架中创建动态 linq 排序和搜索顺序语句时

    我正在尝试构建一个函数来根据某些参数动态生成不同的查询 我对 LINQ 语法有点困惑 不确定我是否做对了 字符串类型参数集是 search 用于搜索文本框值 searchfield 搜索内容 limit begin limit end 用于
  • Gradle 混合构建风味

    有没有办法在gradle中 混合 多种口味 例如 假设我有两种口味 Red and Blue 现在假设我有两种口味 我希望它们有 子口味 如果你喜欢的话 Complex and Simple 到目前为止我所知道的是 这需要我创建四种口味 R
  • Getview里面的Click方法被多次调用

    我希望 click 方法只被调用一次 我该怎么做才能得到这个结果 这是我的代码 public override View GetView int position View convertView ViewGroup parent View