我正在經歷一個奇怪的問題。我在一個RelativeLayout裏面有多個EditText,它最終在一個ScrollView中。我的問題是,無論何時編輯第二個(或第三個等)EditText,它都會失去焦點到ScrollView中的第一個EditText,並且第一個EditText獲取鍵盤輸入。更改EditText中的輸入更新ScrollView中的錯誤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獲取了該值。例如:
其不工作這種方式 –
嗯,嘗試更改您的XML和代碼中的ID,只需在所有editTexts上添加1即可。在使用相對佈局時,我在eclipse中有時會遇到一個奇怪的錯誤,並且類似的事情發生了,即使這些ID是好的,他們的行爲就像我選擇了不同的字段,儘管它明顯表示代碼和xml是正確的。更改ID爲不同的名稱幫助。 – JanBo
不工作這種方式:( –