繁体   English   中英

Android:列出项目的选择性“可点击性”

Android: List Item selective “clickability”

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试在Android中创建一个ListView ,其中某些项目包含详细信息,而某些项目则没有。 对于那些具有详细信息的项目,我希望它们可以单击,并单击它们以显示新的片段。 对于那些没有详细信息的项目,我想隐藏一个ImageView并将列表项设置为“不可点击”。

我正在尝试通过以下方式完成此操作(这在ArrayAdapter类的@Override getView方法中):

ParseGeoPoint location  = itemScan.getParseGeoPoint("location");

ImageView chevron       = (ImageView)convertView.findViewById(R.id.chevron_image_view);

if (location == null) {
    subtitleLabel.setText("{Location Data Unavailable}");
    chevron.setVisibility(View.GONE);
    convertView.setClickable(false);

} else {
    subtitleLabel.setText(""); <-- Not important
    chevron.setVisibility(View.VISIBLE);
    convertView.setClickable(true);

}   

这是我的列表视图的项目单击侦听器:

mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // This may be unnecessary when I get this 
        // issue solved, but I put this in because 
        // of the odd behavior described below
        if (view.isClickable() == true) {
            // Push to a new fragment
        }
    }
});

此代码的一部分按预期方式工作,而一部分则不然。 列表视图项的标签正确填充。 列表视图项目具有“显示人字形”显示或隐藏,如预期的那样。

但是,奇怪的是,视图的可单击性似乎与我的预期相反。 “好”项目(带有详细信息的项目)不会以任何方式响应点击/轻击。 “不良”项目(没有详细信息的项目)播放了可听见的“ OnItemClickListener()哒”声,但OnItemClickListener()if语句阻止代码触发。 因此,我的列表视图无法正常工作。

我是否以某种方式误解了setClickable(boolean)的预期功能? 我从这个答案中得到了这个主意。

1 个回复

我猜测您使用ArrayList存储数据可以做到这一点

 mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            ArrayList Object Type itemScan = arrayList.get(position);
            ParseGeoPoint location  = itemScan.getParseGeoPoint("location");

            if (location == null) {
                  return;

           } else {
              // Push to a new fragment
           }   
        }
    });
2 如何管理项目的可点击性?

伙计们,我以编程方式生成了一张卡片,并且还有四个imageview,但是我单击它们时无法控制。由于我使用lparams,因此无法使用setOnClickListener() 。我的意思是,我只想在单击它时做点什么,卡或任何组件。我该怎么办? 和这里卡 这是添加卡片,但我想单击该卡 ...

2016-01-31 19:44:53 2 20   android
3 选择性复制源项目的实用程序

我需要一些工具。 我有专案(Java / Android)。 在文件夹src中,我有所有的Java文件。 我在项目中进行了一些更改(某些文件已更改)。 现在,我想从src复制所有更新的文件(例如:今天更改),但保留目录结构。 例如,我有: 应对后,我想使用struct获 ...

4 QlikSense选择列出项目的数量

! https://i.imgur.com/tfr0N27.png “ Qlik布局” 所以我有这个屏幕,我想制作它,以便用户可以选择每个选定项目的数量。 我也希望KPI在未选择任何内容的情况下显示0。 有任何想法吗? ...

5 列出项目以及每个Android项目的按钮

我有一个包含几个元素的数组列表。 我想要做的是在屏幕上显示项目以及每个项目的按钮。 该按钮是将安装所选应用程序的安装按钮。 这样做的理想方法是什么? ...

2011-11-13 20:58:31 1 131   android
6 不列出项目的REST URL

即使没有可能使用GET /users列出用户,也可以在REST API中使用像GET /users/:user_id这样的URL吗? 如果“是”,那么GET /users应该返回404还是一个空列表? ...

2014-09-23 17:00:35 2 17   rest
7 列出项目的模型

我想根据别名ID列出数据库中的名称 这些是我的课。 我不能接受读者的意见。 怎么可能。 在变量中加下划线会很困难。 这是正确的方法。 或者,请告诉我其他方式。 ...

8 MongoDB聚合选择性项目

在聚合分组期间,我遇到了重塑文档的问题。 基本上我想根据类型将条目推送到字段。 我的结构如下: 我想$ unwind和$投影这些实体,以便获得如下结构: 所以我可以通过A或B或两者进行分组,即 我以为我可以做到: 或失败的东西 但是这两个版本都失败了, ...

9 在Android画布中选择性遮罩

我有一个画布,如果先绘制背景图像。 然后在背景顶部绘制另一个图像。 我有一个在屏幕上移动的渐变对象。 渐变中使用的Paint的Xfermode设置为paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); 该 ...

10 Android:选择性使用onPause()

我有一个活动计时器应用程序,其中重写了onPause()方法以在用户按下主页或后退按钮时暂停计时器。 但是,在用户手动关闭屏幕的情况下,我希望计时器继续运行,但是我知道这也将调用onPause()方法。 有什么办法可以解决这个问题? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM