在回收者视图中未调用OnClickListener

时间:2019-03-29 23:34:11

标签: java android android-recyclerview onclicklistener

我正在为cyclerview中的单个项目使用SwipeRevealLayout,并且还希望在其上附加一个OnClickListener。这是我的单个项目布局的xml文件:

C:\Users\Asus>pip
Traceback (most recent call last):
  File "C:\Python26\Scripts\pip-script.py", line 11, in <module>
    load_entry_point('pip==9.0.3', 'console_scripts', 'pip')()
  File "build\bdist.win-amd64\egg\pkg_resources\__init__.py", line 572, in load_
entry_point
  File "build\bdist.win-amd64\egg\pkg_resources\__init__.py", line 2769, in load
_entry_point
  File "build\bdist.win-amd64\egg\pkg_resources\__init__.py", line 2422, in load

  File "build\bdist.win-amd64\egg\pkg_resources\__init__.py", line 2428, in reso
lve
  File "C:\Python26\lib\site-packages\pip-9.0.3-py2.6.egg\pip\__init__.py", line
 45, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "C:\Python26\lib\site-packages\pip-9.0.3-py2.6.egg\pip\vcs\mercurial.py",
 line 9, in <module>
    from pip.download import path_to_url
  File "C:\Python26\lib\site-packages\pip-9.0.3-py2.6.egg\pip\download.py", line
 37, in <module>
    from pip.utils.ui import DownloadProgressBar, DownloadProgressSpinner
  File "C:\Python26\lib\site-packages\pip-9.0.3-py2.6.egg\pip\utils\ui.py", line
 57, in <module>
    _BaseBar = _select_progress_class(IncrementalBar, Bar)
  File "C:\Python26\lib\site-packages\pip-9.0.3-py2.6.egg\pip\utils\ui.py", line
 50, in _select_progress_class
    six.text_type().join(characters).encode(encoding)
LookupError: unknown encoding: cp720

这是我的观看者代码:

www.pypi.org

我尝试附加onActionEvent,并且可以,但是我不需要让OnClickListner起作用。 有人可以帮我解决这个问题吗?谢谢

2 个答案:

答案 0 :(得分:0)

从RecyclerView.ViewHolder文档中:

  

ViewHolder描述了项目视图以及有关其在RecyclerView中的位置的元数据。   RecyclerView.Adapter实现应将ViewHolder子类化,并添加用于缓存可能昂贵的findViewById(int)结果的字段。

ViewHolder定制实现主要用于缓存目的,这意味着由于您将侦听器设置为数据存储容器,因此以下行无效。

ParentModule

解决方案是将侦听器设置为实际的itemView(可能恰好在调用ChatHolder(itemView)之前)。

不幸的是,我不能确定,因此请为您的自定义回收者视图发布代码。

答案 1 :(得分:0)

所以我解决了这个问题,得到了SwipeRevealLayout的官方github Repo的帮助。 这是link to original post 这就是它的意思:

  

您可以将onClick设置为主布局和辅助布局,但是您可以   无法为整个swipeRevealLayout设置onClick。

所以我相应地修改了代码,它起作用了。

import matplotlib.pyplot as plt
import numpy as np

dt = 0.01
x = np.arange(-50.0, 50.0, dt)
y = np.arange(0, 100.0, dt)

fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

plt.plot(x, np.sin(x / 3.0))
plt.xscale('symlog')
plt.yscale('symlog', linthreshy=0.015)
plt.grid(True)
plt.ylabel('symlog both')

plt.tight_layout()
plt.show()