相关疑难解决方法(0)

ListView中的Focusable EditText

到目前为止,我已经花了大约6个小时的时间,除了路障之外什么都没打.一般的前提是a中有一些行ListView(无论是由适配器生成,还是作为标题视图添加)包含一个EditText小部件和一个Button.我想要做的就是能够使用jogball /箭头,将选择器导航到正常的单个项目,但是当我到达特定行时 - 即使我必须明确地识别行 - 它具有可聚焦孩子,我希望那个孩子采取焦点而不是用选择器指示位置.

我已经尝试了很多可能性,到目前为止还没有运气.

布局:

<ListView
    android:id="@android:id/list" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"
    />
Run Code Online (Sandbox Code Playgroud)

标题视图:

EditText view = new EditText(this);
listView.addHeaderView(view, null, true);
Run Code Online (Sandbox Code Playgroud)

假设适配器中还有其他项目,使用箭头键将按预期在列表中上/下移动选择; 但是当到达标题行时,它也会与选择器一起显示,并且无法专注于EditText使用jogball.注意:点击它EditText 会将焦点集中在那一点,但是它依赖于触摸屏,这不是必需的.

ListView在这方面显然有两种模式:
1 setItemsCanFocus(true).:从不显示选择器,但EditText使用箭头时可以获得焦点.焦点搜索算法难以预测,并且没有选择哪个项目的视觉反馈(在任何行上:具有可聚焦儿童或不具有可聚焦儿童),这两者都可以给用户带来意想不到的体验.
2 setItemsCanFocus(false).:选择器始终以非触摸模式绘制,并且EditText永远无法获得焦点 - 即使您点击它也是如此.

更糟糕的是,调用editTextView.requestFocus()返回true,但事实上并没有给EditText带来焦点.

我想象的基本上是1和2的混合,而不是列表设置,如果所有项目都是可聚焦的,我想为列表中的单个项目设置可聚焦性,以便选择器从选择无缝转换不可聚焦项目的整行,以及遍历包含可聚焦子项的项目的焦点树.

任何接受者?

android android-layout android-listview android-edittext

120
推荐指数
5
解决办法
11万
查看次数

停止ScrollView将焦点设置在EditText上

Android的ScrollView(当滚动或弹出时)喜欢设置EditText的焦点,当它是它的一个孩子时.滚动然后释放时会发生这种情况.反正有没有阻止这种行为?我已经尝试了几乎所有我能想到的东西以及我在StackOverflow上读过的所有内容.没有什么对我有用.下面是一个示例布局如果您想测试它.我迫切希望阻止这种愚蠢的行为.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<ScrollView 
    android:id="@+id/scrollView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<LinearLayout 
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginRight="50dp"
    android:focusable="true"
    android:focusableInTouchMode="true"
    >

    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="100dp" 
        android:text="TestApp 1"
        />


    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />

    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="100dp" 
        android:text="Bleh...."
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />
    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="100dp" 
        android:text="TestApp 1"
        />


    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="MeeEEEEEEEEEEEEE" …
Run Code Online (Sandbox Code Playgroud)

android focus scrollview android-edittext

47
推荐指数
3
解决办法
3万
查看次数

微调框下拉列表在滚动时跳跃

为什么微调器在滚动时跳动?我只是在做以下事情:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(v.getContext(), layout, textViewId, new ArrayList<String>());
adapter.setDropDownViewResource(layoutDropdown);
adapter.addAll(<DATA>);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(listener);
Run Code Online (Sandbox Code Playgroud)

只要下拉列表很小,一切都可以正常工作,但是如果它变大并且可以滚动,我会看到它在滚动时会跳来跳去。为什么?

我在滚动时没有更改选择内容或数据,因此令我惊讶的是,这种设置如此简单。任何想法如何解决这个问题?

在此处输入图片说明

android spinner android-arrayadapter

8
推荐指数
1
解决办法
622
查看次数

在Android的选择时将焦点设置微调

我有多个的EditText和微调框控件垂直滚动布局.问题是,当我选择的选择屏幕滚动到最后一个的EditText后,被此微调之前编辑的任何微调选项.重点仍然与过去的EditText我编辑.有没有一种方法我可以保持专注与当前选择的微调.

我在寻找可以从布局XML或一些通用的方法全部纱厂实施适用于所有纺纱的解决方案.

android spinner android-edittext

7
推荐指数
2
解决办法
9385
查看次数