作者taco2548 (T@cO)
看板AndroidDev
标题[问题] RecyclerView内嵌RecyclerView不能点击
时间Fri Nov 24 22:43:19 2017
今天遭遇这个问题
弄了大半天都弄不好
不知道到底是哪里出差错
先上图
https://i.imgur.com/m3kn4Ue.png
这是我的Item,里面有另外嵌了一个RecyclerView
现在我想让整个Item可以点击,这个部分没问题
程式码写好之後确实可以点击,有反应
但是点到黄色区块时却没反应...
google了大半天,尝试了各种查到的方法,就是不能将内部Item盖过
方法包含在父布局加上
android:descendantFocusability="blocksDescendants"
在子RecyclerView加上
Rv.setClickable(false);
Rv.setPressed(false);
Rv.setEnabled(false);
Rv.setFocusable(false);
请问有大大有相关经验可以提点一下吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.77.146.170
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1511534603.A.8F8.html
1F:推 zop: 你的意思是,要让父RV可以点?但是发生有子RV的部份不能点? 11/24 23:15
2F:→ taco2548: 对 11/24 23:15
3F:→ zop: 有一招可以试试看,父RV的item里面,最外层用RelativeLayout 11/24 23:17
4F:→ zop: 然後首先放上子RV,接着放上一个跟外层一样大的Linearlayout 11/24 23:18
5F:→ zop: ,这个Linearlayout就会盖在子RV上,然後在父RV程式码里面设 11/24 23:19
6F:→ zop: 定这个Linearlayout可以点击,试试看。 11/24 23:19
7F:→ taco2548: 行不通QQ 11/24 23:33
8F:→ lnmlee: 不要使用巢状ListView 这在UX上是扣分的 而且不好处理 11/24 23:34
9F:→ lnmlee: 即使你看到有类似的App有这种操作你也不要模仿 11/24 23:38
10F:→ taco2548: 不然要用什麽方法替代? 11/24 23:42
11F:→ zop: 那反过来,先放linearlayout,然後子RV margin,留边点击 11/24 23:48
12F:→ zop: 不然,不要找麻烦了,直接父RV item点了之後换页显示子RV 11/24 23:49
13F:→ zop: 携带装置萤幕就那麽大,尽量简单明了比较好 11/24 23:49
14F:→ lnmlee: 我做过这总UI 父层ListView item rootView 是scrollview 11/24 23:58
15F:→ lnmlee: 高度写死 宽 match_parent 内部LinearLayout 高度 match_p 11/24 23:58
16F:→ lnmlee: arent 宽度动态计算内容长度後写死 即可实现上下可滑 左右 11/24 23:58
17F:→ lnmlee: 也可滑的效果 但我真的不建议这总作法 11/24 23:58
18F:推 zop: 那个我也做过,是不得已的时候才要那样 XD,没办法,有时候 11/24 23:59
19F:→ zop: 客户就是要这样,怎麽解释都没用。 11/25 00:00
20F:→ taco2548: 的确这样写,可读性真的变很差QQ,我的子Rv不确定内容 11/25 00:05
21F:→ taco2548: 又想直接呈现给使用者看,所以才要这样写 11/25 00:08
22F:推 zop: 查查linearlayout addview,试试看。 11/25 00:12
23F:→ lnmlee: 你给个现实存在 你想模仿的UI 给我们看看 也许并不难搞 11/25 00:15
24F:→ ptthao: 子Rv的内容可以用父Rv覆写getItemViewType来做吗@@? 11/26 09:57