实现 StickyGridHeaders Android 时标题中的按钮

2024-01-17

我正在尝试使用粘性网格标题 https://github.com/TonicArtos/StickyGridHeaders在我的 Android 应用程序中,它工作得很好,除非我尝试将点击监听器添加到 headerview 中的可点击 ImageView 中。在getHeaderView() in my BaseAdapter我正在尝试执行以下操作:

获取标题视图

@Override
public View getHeaderView(final int pos, View view, ViewGroup viewGroup) {
    view = inflater.inflate(R.layout.gallery_item,viewGroup, false);
    TextView title = (TextView) view.findViewById(R.id.title);
    TextView date =  (TextView) view.findViewById(R.id.date);
    ImageView settings = (ImageView) view.findViewById(R.id.folder_settings);

    settings.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            Toast.makeText(mContext, "The Click Worked.", Toast.LENGTH_SHORT).show();
        }

    });

    GalleryItem galleryItem = galleryItems.get(pos);

    icon.setImageResource(setIcon(galleryItem.getMode()));
    title.setText(galleryItem.getTitle());
    Date da = galleryItem.record.getDate("FILE_DATE");

    SimpleDateFormat dateFormat = new SimpleDateFormat("LLLL-dd-yyyy");
    String mDate = dateFormat.format(da);
    date.setText(mDate);

    return view;
}

gallery_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:clickable="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:layout_height="55dp"
    android:background="@color/lightgraymain"
    android:id="@+id/linearLayout">

    <ImageView
        android:layout_width="55dp"
        android:layout_height="match_parent"
        android:id="@+id/icon"
        android:src="@drawable/ic_gallery_mode_tag" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="521 North 7th Street, Lincoln, NE"
        android:id="@+id/title"
        android:textColor="@color/black"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:layout_gravity="center_vertical"
        android:padding="5dp"
        android:fontFamily="sans-serif-condensed"
        android:enabled="true"
        android:ellipsize="marquee"
        android:textIsSelectable="false"
        android:singleLine="true"
        android:textSize="14dp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="August-25-2014"
        android:id="@+id/date"
        android:layout_gravity="center_vertical"
        android:fontFamily="sans-serif-light"
        android:textColor="@color/gray" />

    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/folder_settings"
        android:src="@drawable/ic_gallery_options"
        android:clickable="true"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:padding="10dp"
        android:layout_gravity="center"
        />

</LinearLayout>

我无法让吐司出现。我尝试过实施onHeaderClick()在适配器中也无济于事。任何帮助将不胜感激。 谢谢你, -扎克


您应该在托管 StickyGrid 的片段/活动中实现侦听器

我让它像这样工作:

@Override
public void onHeaderClick(AdapterView<?> adapterView, View view, long l) {
    view.findViewById(R.id.folder_settings).performClick();
}

对于只有一个可点击元素的标题来说这是可以的。如果标题有多个可点击的元素,则此解决方案将不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实现 StickyGridHeaders Android 时标题中的按钮 的相关文章

随机推荐

  • 在 SQLite.cs 中找不到类型或命名空间“Sqlite”

    我有一个使用 SQLite 的 Windows Phone 8 应用程序 该应用程序具有许多数据库功能 并包括一个 sqlite 数据库文件 该文件在运行应用程序时被复制到本地文件夹并进行访问 所有这些都没有问题 直到我第一次切换到发布版本
  • 无法使用带有 python 的 selenium 通过 sendkeys 将文件上传到 iframe 内的按钮元素

    环境 Python Selenium 我正在尝试将本地文件上传到上传文件按钮 首先 我尝试查看是否可以找到该元素并单击该按钮 我通过使用成功了 driver switch to frame upload frame driver find
  • 在 C++ 中声明基于函数参数的本地数组是合法的

    我从一本书中读到 以下 C 代码不应编译 void f int n int m int a n b n m 因为数组的大小不是在编译时确定的 但我尝试了一下 发现无论是全局函数还是成员函数 使用g 都可以编译成功 这在最近的 C 实现中是合
  • 如何从Java代码生成UML图(尤其是序列图)?

    如何从现有的 Java 代码生成 UML 图 尤其是序列图 ObjectAid UML 资源管理器 http www objectaid com home 是我用过的 这很容易已安装 https www objectaid com inst
  • C# 线程池限制线程数

    好吧 我已经对该网站进行了公平的搜索 并阅读了许多有关该主题的帖子 我发现这个问题 C 中的简单线程池代码 https stackoverflow com questions 435668 code for a simple thread
  • Python - 如何使用 ioctl 或 spidev 从设备读取输入?

    我有一个提供它的供应商提供了一些 C 代码来监听按钮按下 该代码使用ioctl 该设备具有 SSD1289 控制器 按钮不需要额外的引脚 可以通过 SPI 读取其状态 这就是我想要的 读取按下了哪个按钮 我试图在 Python 中为我自己的
  • SCONS 运行目标

    我一直在寻找 寻找 但找不到我的问题的答案 我今晚刚刚开始学习 scons 看起来棒极了 不过我遇到了一点困惑 为了便于开发 我经常喜欢让我的 make 文件构建我的目标 然后运行它 以便我可以通过一次按键来测试更改 这在 make 文件中
  • Qt,没有这样的槽

    为什么我会得到这个 Object connect No such slot Ide on action Exit triggered index Object connect sender name actionClose Project
  • setTextIsSelectable 如何防止键盘出现?

    如果我使用包含单个 EditText 的单个 Activity 创建一个简单的应用程序 并且我这样做 EditText editText EditText findViewById R id editText editText setTex
  • 禁用帆中的用户挂钩

    我正在 Heroku 上托管的一个项目中使用 sails 我有一个运行 sails Web 服务器的 Web 进程和一个使用与 Web 服务器使用的模型相同的模型的工作进程 为了使其成为可能 我有不同的方式使用相同的代码启动每个进程 app
  • Python 3.3 - 连接 Oracle 数据库

    python 3 3有连接Oracle数据库的模块吗 哪个最容易使用 像 mysql 模块之类的东西只能与 Oracle 一起使用 最好是 10g 版本 但 11g 也可以 有 cx Oracle Install gt You should
  • Java 内存模型:创建最终实例字段的循环引用图(所有字段均在同一线程内分配)是否安全?

    比我更了解 Java 内存模型的人可以确认我对以下代码正确同步的理解吗 class Foo private final Bar bar Foo this bar new Bar this class Bar private final Fo
  • Powershell函数递归获取元数据

    我正在修改一些 powershell 代码 我发现这些代码可以递归地从文件中获取元数据 但我在访问文件夹中的文件夹时遇到问题 我从 share 下直接列出的文件夹中获取元数据 而不是从那里的文件夹和文件中获取元数据 如何将此代码修改为文件夹
  • 为什么 notebook() 对 IJulia 不起作用?

    我在尝试使用时收到此问题notebook 在 Julia 命令行界面 REPL 中 julia gt using IJulia Info Precompiling IJulia 7073ff75 c697 5162 941a fcdaad2
  • 如何在没有太多引号的情况下序列化 JsonObject?

    我正在 com google gson JsonObject 上编写一个小型流畅的包装器 当我序列化 Json 时 我得到 key1 value1 key2 value2 key3 innerKey value3 如何去掉多余的引号 My
  • Microsoft Translator Text API 打破了 notranslate 跨度

    我正在使用 Microsoft Translator Text API 来翻译一些句子 我的句子包含一些我不需要翻译的文本部分 为了实现这一点 我使用 span class notranslate span 通过包装不可翻译的文本 在大多数
  • iOS 使用 AVAssetWriter 捕获视频时如何正确处理方向

    我正在制作一个利用 AVFoundation 录制视频的示例应用程序 重点是这样我可以更好地控制视频的录制方式 在我的示例项目中 我进行了视频捕获 但在正确处理方向方面遇到了困难 我在网络上进行了大量搜索 发现其他人建议我不应允许我的捕获视
  • long.Parse() C#

    在 C 中 如何将字符串 例如 100 100 转换为 long 我目前有一行代码是 long xi long Parse x System Globalization NumberStyles AllowThousands 但当 x 是
  • const 引用右值的类数据成员的生命周期是多少?

    一般来说 这个讨论仅取决于局部函数变量 void foo const int i use i till foo ends foo 3 但是 这条规则是否适用于class会员还 struct A const int a A a 3 versi
  • 实现 StickyGridHeaders Android 时标题中的按钮

    我正在尝试使用粘性网格标题 https github com TonicArtos StickyGridHeaders在我的 Android 应用程序中 它工作得很好 除非我尝试将点击监听器添加到 headerview 中的可点击 Imag