【发布时间】:2013-08-16 18:58:18
【问题描述】:
我有一个使用 AmazingListView 的项目:
https://code.google.com/p/android-amazing-listview/
我需要固定的标题有一个可点击的按钮。但是,由于某种原因,固定标头似乎无法接收任何触摸事件。我该怎么做才能使此按钮可点击?有没有办法拦截事件并将它们发送到标头?
谢谢!
【问题讨论】:
标签: android listview button togglebutton
我有一个使用 AmazingListView 的项目:
https://code.google.com/p/android-amazing-listview/
我需要固定的标题有一个可点击的按钮。但是,由于某种原因,固定标头似乎无法接收任何触摸事件。我该怎么做才能使此按钮可点击?有没有办法拦截事件并将它们发送到标头?
谢谢!
【问题讨论】:
标签: android listview button togglebutton
我对这个组件有同样的问题。 在我的情况下,固定标题是一个相对布局,它有一个我需要使用的按钮。 实际问题在于将固定标题添加到列表视图的方式。 它是“绘制”而不是添加到列表视图层次结构中:
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
if (mHeaderViewVisible) {
drawChild(canvas, mHeaderView, getDrawingTime());
}
}
mHeaderView 永远不会添加到视图层次结构中...
我不知道“绘制”到这里的视图是否有可能接收任何用户输入。
也许我们需要想办法通过将固定标题添加到视图层次结构中来实现它...
【讨论】:
是的,你可以,如果我没记错的话,你需要重写 AmazingAdapter 上的一些方法,默认情况下这些视图被视为未启用。请参阅 ListAdapter 及其方法:http://developer.android.com/reference/android/widget/ListAdapter.html
所以,理论上(我没有深入研究 AmazingListView 的代码)你应该为这些元素返回 true,或者只为所有元素返回 true。
【讨论】: