java - 滚动时无法单击列表视图中的按钮
问题描述
我有一个listview
其中包含一些cells
和单元格包含Buttons
.
这些按钮在第一次尝试时工作正常,但在滚动后,它们不起作用。状态更改为选中,但onClickListener
没有被调用。
这是按钮的 xml(它们是 IconButtons 实际上看到:android-iconify)
<com.joanzapata.iconify.widget.IconButton
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_gravity="right"
android:gravity="right|center|top"
android:paddingRight="30dp"
android:layout_toRightOf="@id/icon_map_marker"
android:layout_alignParentRight="true"
android:textColor="@drawable/hj_button_text_color_blue"
android:text="{fa-user}"
android:background="@color/default_transparent_color"
android:ellipsize="end"
android:id="@+id/textView_ad_detail_authorName"
android:maxLines="1"
android:focusable="false"
android:textSize="13sp" />
然后在适配器中:
IconButton buttonUsername = (IconButton) adDetailView.findViewById(R.id.textView_ad_detail_authorName);
buttonUsername.setText("\u200F" + "{fa-user 16sp @color/hj_color_blue}" + " " + ad.getAuthorName() + " " + "{fa-thumbs-up 16sp @color/hj_color_green}");
buttonUsername.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
IconButton button = (IconButton) view;
String username = ad.getAuthorName();
if (delegate != null) {
try {
delegate.usernamePushed(username, button.getId());
}
catch (Exception e) {
Crashlytics.logException(e.getCause());
}
}
}
});
我已经尝试过了,但它对我不起作用。
我在这里上传了一段短视频到 youtube 。
解决方案
推荐阅读
- node.js - 将节点应用程序转换为适用于 linux、window 和 Mac 的可执行文件
- react-native - React-native:OnLongPress 在平板设备中不起作用(在 android 和 ios 中)
- struct - 是否有将默认名称放在元组中以更好地完成代码和建议的功能?
- javascript - JAVASCRIPT - 如何创建空对象
- swift - 为什么闭包捕获引用而函数没有捕获引用?另外,为什么闭包声明需要“lazy”关键字?
- c# - 取多个 Vector3 的平均值
- python - 如何使用 selenium 循环浏览这些网页?
- python - 循环遍历一个列表并显示另一个列表中每个元素的最接近匹配的结果
- python - 我需要帮助才能使用 python 代码来查找输入的两个整数之间的数字之和
- c# - 使用 Newtonsoft.Json 在 C# 中反序列化此 JSON