[英]Retain Selection When Click Outside Widget
我有一个用于创建日历的gridview。 当我在日历/网格视图外部单击时,无法使初始选择突出显示。 日历/网格视图占据了视图的上半部分,并且处于一个片段中,并且相应的列表将位于下面。 我在片段中的网格布局如下:
<GridView
android:id="@+id/weekGrid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:listSelector="@color/green"
android:numColumns="7" >
</GridView>
为了突出显示初始单元格,我在设置适配器后使用以下命令设置其位置:
calGrid.requestFocusFromTouch();
calGrid.setSelection(startPosition);
根据需要,初始选择为绿色。 但是,一旦我单击远离gridview,绿色背景就会消失。 如果要选择另一个单元格,然后单击远离gridview,则不会发生这种情况。 在这种情况下,突出显示仍然存在。 我尝试在gridview上设置onFocusChange侦听器。 但这在gridview之外单击时不会触发。 我也尝试在android:listSelector中使用选择器。
在此先感谢您的帮助。
尝试这个:
更换:
calGrid.requestFocusFromTouch();
calGrid.setSelection(startPosition);
有:
((ImageView)calGrid.getChildAt(startPosition)).setSelected(true);
我认为它应该可以解决您的问题,如果您不使用ImageView,请将演员表更改为您正在使用的视图类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.