我有一个有点复杂的布局,涉及多个片段,以及GLView顶部片段中的ListView。当我在列表视图以外的屏幕上的任何地方结束触摸(MotionEvent.ACTION_UP)时,列表视图行中的文本视图变为空白,调用adapter.notifyDataSetChanged()将刷新它们,但在下一次触摸时再次消失。
The relevant bits of the layout:
SlidingFragmentActivity
A SherlockFragment that fills the whole screen
RelativeLayout
A SherlockFragment containing LinearLayout, layout_width=WrapContent, layout_height=wrap_content, orientation=vertical
ImageButton, layout_width=WrapContent, layout_height=wrap_content
ListView(The problem view), layout_width=200, layout_height=wrap_content, background=transparent
Each row is a RelativeLayout containing several TextViews, with a semi-transparent background
TextView
ImageView
View that Overrides onDraw(Canvas) to do custom drawing
GLView - a Nutiteq MapView
每当MotionEvent.ACTION_UP发生时调用adapter.notifyDatasetChanged()都会使问题变得不那么明显,但这似乎是一个浪费cpu时间的不合理的解决方案。
一些说明问题的屏幕截图(右下方的列表视图)