Android 滚动查看两个编辑文本焦点问题
我有一个奇怪的问题,我连发音都有问题 我的布局是一个相对布局,包含一个包含芯片和编辑文本的滚动视图。滚动视图下面是一个用于自动完成的列表视图,下面是一个包含编辑文本和按钮的线性布局。(本文末尾的屏幕截图) 当片段加载并且用户在scroll视图中键入edittext时,会弹出带有自动完成选项的listview。当选择自动完成选项时,该选项作为所选芯片添加。生成这些芯片的库并没有清除编辑文本的焦点,但操作系统正在缓慢运行,以将焦点移动到底部编辑文本。这导致了两个编辑文本都会闪烁的奇怪状态,就像它们有焦点一样。如果用户再次开始在键盘上键入,焦点实际上是在较低的编辑文本上,现在不可能再次将焦点放在第一个要键入的编辑文本上Android 滚动查看两个编辑文本焦点问题,android,android-layout,Android,Android Layout,我有一个奇怪的问题,我连发音都有问题 我的布局是一个相对布局,包含一个包含芯片和编辑文本的滚动视图。滚动视图下面是一个用于自动完成的列表视图,下面是一个包含编辑文本和按钮的线性布局。(本文末尾的屏幕截图) 当片段加载并且用户在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图库中-有太多的内容,无法挤满此帖子: