繁体   English   中英

单击外部小部件时保留选择

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM