【发布时间】:2013-11-21 13:58:06
【问题描述】:
我遇到了一个特殊的问题。我在一个最终位于 ScrollView 内的 RelativeLayout 中有多个 EditText。我的问题是,每当我编辑第二个(或第三个等)EditText 时,它会失去对 ScrollView 内的第一个 EditText 的焦点,而这第一个 EditText 会获得键盘输入。
这里是 xml 布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:id="@+id/parentLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:id="@+id/particularsLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="50dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp">
<TextView
android:id="@+id/particularsTextView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PARTICULARS"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
/>
<View
android:id="@+id/bar1"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"
android:layout_below="@+id/particularsTextView"
/>
<RelativeLayout
android:id="@+id/particularsParentRelativeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/bar1"
android:layout_marginTop="10dp"
>
<EditText
android:id="@+id/nameEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="15dp"
android:layout_alignLeft="@+id/confirmPasswordEditText"
/>
<TextView
android:id="@+id/nameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NAME"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
android:layout_alignBottom="@+id/nameEditText"
android:layout_marginBottom="15dp"
android:textSize="12sp"
/>
<TextView
android:id="@+id/passwordTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PASSWORD"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
android:layout_alignBottom="@+id/passwordEditText"
android:layout_marginBottom="15dp"
android:textSize="12sp"
/>
<EditText
android:id="@+id/passwordEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/nameEditText"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/passwordTextView"
android:layout_alignParentRight="true"
android:nextFocusUp="@+id/passwordEditText"
android:layout_alignLeft="@+id/confirmPasswordEditText"
/>
<TextView
android:id="@+id/confirmPasswordTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CONFIRM PASSWORD"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
android:layout_alignBottom="@+id/confirmPasswordEditText"
android:layout_marginBottom="15dp"
android:textSize="12sp"
/>
<EditText
android:id="@+id/confirmPasswordEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/passwordEditText"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/confirmPasswordTextView"
android:layout_alignParentRight="true"
android:layout_marginLeft="5dp"
/>
<TextView
android:id="@+id/birthdayTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BIRTHDAY"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
android:layout_alignBottom="@+id/birthdayEditText"
android:layout_marginBottom="15dp"
android:textSize="12sp"
/>
<EditText
android:id="@+id/birthdayEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/confirmPasswordEditText"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/birthdayTextView"
android:layout_alignParentRight="true"
android:layout_alignLeft="@+id/confirmPasswordEditText"
/>
<TextView
android:id="@+id/genderTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="GENDER"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
android:layout_marginTop="18dp"
android:layout_below="@+id/birthdayTextView"
android:textSize="12sp"
/>
<TextView
android:id="@+id/contactDetailsTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/genderTextView"
android:text="CONTACT DETAILS"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
android:layout_marginTop="50dp"
/>
<View
android:id="@+id/bar2"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"
android:layout_below="@+id/contactDetailsTextView"
/>
<TextView
android:id="@+id/contactNoTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/contactNoEditText"
android:layout_marginBottom="15dp"
android:text="CONTACT NO."
android:textSize="12sp"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
/>
<EditText
android:id="@+id/contactNoEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/bar2"
android:layout_marginTop="15dp"
android:layout_alignParentRight="true"
android:layout_alignLeft="@+id/confirmPasswordEditText"
/>
<TextView
android:id="@+id/emailAddressTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="EMAIL AD."
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
android:layout_alignBottom="@+id/emailAddressEditText"
android:layout_marginBottom="15dp"
android:textSize="12sp"
/>
<EditText
android:id="@+id/emailAddressEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/contactNoEditText"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"
android:layout_alignLeft="@+id/confirmPasswordEditText"
/>
<EditText
android:id="@+id/emailAddressEditText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/emailAddressTextView"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"
android:layout_alignLeft="@+id/confirmPasswordEditText"
/>
<TextView
android:id="@+id/countryTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="COUNTRY"
android:textColor="@android:color/darker_gray"
android:textStyle="bold"
android:layout_below="@+id/emailAddressEditText2"
android:layout_marginTop="18dp"
android:textSize="12sp"
/>
<CheckBox
android:id="@+id/termsCheckbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/countryTextView" />
<TextView
android:id="@+id/termsTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/termsCheckbox"
android:layout_alignBottom="@+id/termsCheckbox"
android:text="I AGREE TO THE TERMS AND CONDITIONS STATED"
android:textColor="@android:color/darker_gray"
android:layout_alignBaseline="@+id/termsCheckbox"
/>
<Button
android:id="@+id/signupButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/termsTextView"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/signup"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp"
/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
</ScrollView>
如何解决这个问题?
编辑:
我附上了我的问题的屏幕截图。我在 passwordEditText 中输入了“h”,但 nameEditText 得到了值。
【问题讨论】:
标签: android xml android-layout scrollview android-scrollview