0

假设我EditText的布局中有两个或更多视图,并且在运行时错误地选择了第二个视图并用文本填充它;现在我想转到以前EditText的视图并在触摸增益上重点在其中写一些文本。

但我无法做到这一点。我无法获得视图焦点并在单击该特定视图时将其写入。

请看下面的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/wall">

<EditText
    android:id="@+id/title"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:textSize="30dp"
    android:focusable="true"
    android:hint="@string/Title" />

<EditText
    android:id="@+id/body"
    android:layout_width="fill_parent"
    android:layout_height="350dp"
    android:textSize="25dp"
    android:paddingTop="45dp"
    android:gravity="top"
    android:inputType="textMultiLine|textNoSuggestions"
    android:ems="10"
    android:focusable="true"
    android:hint="@string/program" />

<TextView
    android:id="@+id/CalDisplay"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
   android:textSize="20dp"
    android:layout_below="@+id/save" />

<Button
    android:id="@+id/Calculate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/body"
    android:layout_toRightOf="@+id/RunProgram"
    android:background="@drawable/custom_button"
    android:textColor="#ffffff"
    android:text="@string/Calculate" />

<Button
    android:id="@+id/save"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/Calculate"
    android:layout_alignBottom="@+id/Calculate"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@+id/RunProgram"
    android:background="@drawable/custom_button"
    android:textColor="#ffffff"
    android:text="@string/Save"
     />

<Button
    android:id="@+id/RunProgram"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/body"
    android:layout_centerHorizontal="true"
    android:background="@drawable/custom_button"
    android:textColor="#ffffff"
    android:text="@string/Run" />

</RelativeLayout>   
4

2 回答 2

0

替换RelativeLayoutLinearLayout。因为看起来您EditText彼此重叠(导致焦点问题),或者至少添加一些各自的对齐方式。

例如,将以下内容添加到您的第二个EditText

android:layout_below="@id/title"
于 2013-04-04T10:34:44.320 回答
0
Try this...

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:hint="Title"
        android:textSize="15dp" />

    <EditText
        android:id="@+id/body"
        android:layout_width="fill_parent"
        android:layout_height="350dp"
        android:layout_below="@+id/title"
        android:layout_marginTop="5dp"
        android:gravity="left"
        android:hint="program"
        android:inputType="textMultiLine|textNoSuggestions"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/CalDisplay"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/save"
        android:textSize="20dp" />

    <LinearLayout
        android:id="@+id/linearButtons"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/body" >

        <Button
            android:id="@+id/Calculate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Calculate"
            android:textColor="#ffffff" />

        <Button
            android:id="@+id/save"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Save"
            android:textColor="#ffffff" />

        <Button
            android:id="@+id/RunProgram"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Run"
            android:textColor="#ffffff" />
    </LinearLayout>

    </RelativeLayout>
于 2013-04-04T10:50:26.563 回答