0

我有一个带有 EditTexts 的 ListView。当我第一次单击文本框时,它被选中,键盘弹出,然后文本框被取消选中。但是,一旦加载键盘,就会选​​择文本框。这是我的xml

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

 <ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
    android:id="@+id/borrowerName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@+id/label"
    android:textSize="14sp"
     >
</TextView>

<TextView
    android:id="@+id/loanAmount"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@+id/label"
    android:textSize="14sp"
     >
</TextView>

<TextView
    android:id="@+id/installmentNumber"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@+id/label"
    android:textSize="12sp"
    >
</TextView>

<TextView
    android:id="@+id/estimatedTotal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@+id/label"
    android:textSize="12sp"
    >
</TextView>  

</LinearLayout>

 <EditText
    android:id="@+id/repaymentAmount"
    android:layout_width="75sp"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:inputType="numberDecimal"
    android:textSize="12sp"
     >
</EditText>
</RelativeLayout>

我尝试了以下事情:

将以下标签添加到我的 RelativeLayout 和 EditText

android:focusable="true"
android:focusableInTouchMode="true"

设置 listAdapter 后在我的代码中添加:getListView.requestFocus()

4

2 回答 2

1

您需要使用调整盘。请查看以下链接以获取更多信息

http://comments.gmane.org/gmane.comp.handhelds.android.devel/134260

于 2012-07-05T14:31:30.450 回答
0

在您的布局中,您可以使用requestfocus标签:

在您的示例中:

<!-- [...] -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <!-- [...] -->

    <EditText
        android:id="@+id/repaymentAmount"
        android:layout_width="75sp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:inputType="numberDecimal"
        android:textSize="12sp">

        <requestfocus/>

    </EditText>

    <!-- [...] -->
</LinearLayout>

同样在您的代码中,您应该在 editText 对象而不是列表视图上调用 requestFocust()。

于 2012-07-05T12:15:57.770 回答