下面的xml显示了我的布局。如果在图形编辑器中查看此布局,则“Tempo”EditText为蓝色。这使得此字段成为活动打开时具有焦点的项目。我想让“名称”字段成为活动开始时具有焦点的第一个字段。有任何想法吗?感谢。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content_panel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#fffafafa"
android:orientation="vertical" >
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll_view"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1.0"
android:fadingEdge="none" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="10.0dip"
android:paddingRight="10.0dip"
android:paddingTop="10.0dip"
android:focusableInTouchMode="true" >
<LinearLayout
android:id="@+id/songname_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/songname"
android:textColor="#ff000000"
android:textStyle="bold" />
<EditText
android:id="@+id/edit_songname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:inputType="textCapSentences"
android:textColor="#ff000000" >
</EditText>
</LinearLayout>
<LinearLayout
android:id="@+id/artist_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/artist"
android:textColor="#ff000000"
android:textStyle="bold" />
<AutoCompleteTextView
android:id="@+id/autocomplete_artist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:inputType="textCapSentences"
android:textColor="#ff000000" />
</LinearLayout>
<LinearLayout
android:id="@+id/genre_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/genre"
android:textColor="#ff000000"
android:textStyle="bold" />
<AutoCompleteTextView
android:id="@+id/autocomplete_genre"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:inputType="textCapSentences"
android:textColor="#ff000000" />
</LinearLayout>
<LinearLayout
android:id="@+id/notes_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/notes"
android:textColor="#ff000000"
android:textStyle="bold" />
<EditText
android:id="@+id/notes"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:capitalize="sentences"
android:gravity="top"
android:imeOptions="actionNext"
android:inputType="textCapSentences"
android:minLines="3"
android:textColor="#ff000000" />
</LinearLayout>
<LinearLayout
android:id="@+id/song_length_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/song_length"
android:textColor="#ff000000"
android:textStyle="bold" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/edit_minute"
android:layout_width="60dp"
android:layout_height="wrap_content"
android:gravity="right"
android:imeOptions="actionNext"
android:inputType="number"
android:maxLength="3"
android:textColor="#ff000000" />
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/semicolon"
android:textColor="#ff000000"
android:textStyle="bold" />
<EditText
android:id="@+id/edit_second"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:gravity="right"
android:imeOptions="actionNext"
android:inputType="number"
android:maxLength="2"
android:textColor="#ff000000" />
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/minsec"
android:textColor="#ff000000"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/tempo_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/tempo"
android:textColor="#ff000000"
android:textStyle="bold" />
<EditText
android:id="@+id/edit_tempo"
android:layout_width="60dp"
android:layout_height="wrap_content"
android:gravity="right"
android:imeOptions="actionNext"
android:inputType="number"
android:maxLength="3"
android:textColor="#ff000000" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:id="@+id/key_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
style="?android:attr/textAppearanceSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/key"
android:textColor="#ff000000"
android:textStyle="bold" />
<Spinner
android:id="@+id/edit_key"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:textColor="#ff000000" />
</LinearLayout>
<LinearLayout
android:id="@+id/depreciated_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/depreciated"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/depreciated"
android:textColor="#ff000000"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="1.0dip"
android:paddingLeft="4.0dip"
android:paddingRight="4.0dip"
android:paddingTop="5.0dip" >
<Button
android:id="@+id/btnsave"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:text="@string/save" />
<Button
android:id="@+id/btncancel"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:text="@string/cancel" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:2)
使用requestFocus
将焦点转移到特定的EditText
:
<EditText
android:id="@+id/edit_songname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:inputType="textCapSentences"
android:textColor="#ff000000" >
<requestFocus />
</EditText>
正如您在布局中看到的那样,tempo
字段中包含requestFocus
字段。只需将其移至songname
字段即可,一切顺利。
答案 1 :(得分:1)
只需添加此
myedittext.requestFocus();