Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 滚动查看两个编辑文本焦点问题_Android_Android Layout - Fatal编程技术网

Android 滚动查看两个编辑文本焦点问题

Android 滚动查看两个编辑文本焦点问题,android,android-layout,Android,Android Layout,我有一个奇怪的问题,我连发音都有问题 我的布局是一个相对布局,包含一个包含芯片和编辑文本的滚动视图。滚动视图下面是一个用于自动完成的列表视图,下面是一个包含编辑文本和按钮的线性布局。(本文末尾的屏幕截图) 当片段加载并且用户在scroll视图中键入edittext时,会弹出带有自动完成选项的listview。当选择自动完成选项时,该选项作为所选芯片添加。生成这些芯片的库并没有清除编辑文本的焦点,但操作系统正在缓慢运行,以将焦点移动到底部编辑文本。这导致了两个编辑文本都会闪烁的奇怪状态,就像它们有

我有一个奇怪的问题,我连发音都有问题

我的布局是一个相对布局,包含一个包含芯片和编辑文本的滚动视图。滚动视图下面是一个用于自动完成的列表视图,下面是一个包含编辑文本和按钮的线性布局。(本文末尾的屏幕截图)

当片段加载并且用户在scroll视图中键入edittext时,会弹出带有自动完成选项的listview。当选择自动完成选项时,该选项作为所选芯片添加。生成这些芯片的库并没有清除编辑文本的焦点,但操作系统正在缓慢运行,以将焦点移动到底部编辑文本。这导致了两个编辑文本都会闪烁的奇怪状态,就像它们有焦点一样。如果用户再次开始在键盘上键入,焦点实际上是在较低的编辑文本上,现在不可能再次将焦点放在第一个要键入的编辑文本上

非焦点滚动视图的代码如下所示。这很好地解决了我的问题,即
芯片视图周围的滚动视图抓住焦点并阻止编辑文本正常工作。(布局中的
SevenChipsView
仅是
ChipsView
的扩展)

我尝试过,通过编程,从较低的编辑文本中移除焦点,并显式地将其放回滚动视图中的编辑文本中,但这没有任何作用

有没有一种方法可以防止操作系统转移焦点,并在用户点击底部编辑文本之前一直停留在顶部编辑文本中

公共类非焦点ScrollView扩展了ScrollView{ 公共非焦点滚动视图(上下文){ 超级(上下文); } 公共非焦点滚动视图(上下文、属性集属性){ 超级(上下文,attrs); } 公共非焦点滚动视图(上下文上下文、属性集属性、int defStyleAttr){ super(上下文、attrs、defStyleAttr); } @TargetApi(Build.VERSION\u code.LOLLIPOP) 公共非焦点滚动视图(上下文上下文、属性集属性、int-defStyleAttr、int-defStyleRes){ super(context、attrs、defStyleAttr、defStyleRes); } @凌驾 受保护的布尔onRequestFocusInDescendants(int方向,Rect先前的FocusedRect){ 返回true; } @凌驾 公共ArrayList getFocusables(int方向){ 返回新的ArrayList(); } @凌驾 public void requestChildFocus(查看子对象,查看焦点){ //避免一起滚动到焦点元素 } } 布局XML


屏幕截图流在此imgur图库中-有太多的内容,无法挤满此帖子: