android listview edittext 编辑 焦点

来源:互联网 发布:淘宝网颜色分类 编辑:程序博客网 时间:2024/05/22 10:35

在Android中,有时候我们需要在列表item中直接编辑输入框,当日最高校的列表就是使用ListView了

但是在Android ListView中item子控件与父容器之间会出现焦点冲突的问题,尤其是当EditText输入时需要保持焦点

稍有其他触控就会使得EditText脱离焦点。

我在设计这里时也遇到很多问题,在此作简单的记录

我使用的方法不一定是最好,但觉得是最简单的大笑(因为我比较懒)

1:item布局

<LinearLayout        android:layout_width="match_parent"        android:layout_height="51dp"        android:gravity="center_vertical"        android:paddingLeft="14dp"        android:paddingRight="14dp"        android:orientation="horizontal">    <com.antwei.customwidgets.FlowLayout            android:id="@+id/fly_specs_container"            android:layout_width="0dp"            android:layout_height="wrap_content"            app:horizontalSpacing="5dp"            android:layout_weight="3">        <TextView                android:id="@+id/tv_addgood_spec2"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                style="@style/text_content_orange"                android:text="真的不是的不是的"/>     <!--这里可以忽略-->    </com.antwei.customwidgets.FlowLayout>
<!--下面是重点-->
<EditText  
            android:id="@+id/et_specs_stock"
            android:layout_width="0dp"
            android:layout_height="wrap_content" 
            android:inputType="number"    
            android:paddingTop="5dp"       
            android:paddingBottom="5dp"    
            android:gravity="center"    
            android:layout_weight="1">
<!-看这里保持焦点,我试了一下,不用也可以,但是会导致在其不可见时焦点不会被其他EditText主动获取->    
    <requestFocus></requestFocus> 
   </EditText>
</LinearLayout>
2:对应ListView我没有做任何修改,直接使用原生LIstView就好了,不会干扰你对ListView的派生

3:在使用这个使用了这个ListView的Activity的注册信息中添加

android:windowSoftInputMode="adjustPan"

使获取焦点的EditText浮动在输入法的顶部


祝您好运,问题解决了


0 0
原创粉丝点击