假设我的布局中有两个或更多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>
答案 0 :(得分:0)
将RelativeLayout
替换为LinearLayout
。因为看起来你的EditText
彼此重叠(导致焦点问题),或者至少添加一些相应的对齐方式。
例如,将以下内容添加到第二个EditText
:
android:layout_below="@id/title"
答案 1 :(得分: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>