main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Name"/> <EditText android:id="@+id/name" android:layout_width="fill_parent" android:layout_height="wrap_content"> <requestFocus/> </EditText> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Phone"/> <EditText android:id="@+id/phone" android:layout_width="fill_parent" android:layout_height="wrap_content"> <requestFocus/> </EditText> </LinearLayout> </LinearLayout>FocusActivity.java
public class FocusActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText name= (EditText) this.findViewById(R.id.name);
name.requestFocus();
}
}
當多個地方使用 requestFocus,只會有一個地方生效,就是最後執行 requestFocus 的地方,由以上的範例可以看出來,phone 的 <requestFocus/> 蓋過 name 的 <requestFocus/> ,而 name 的 requestFocus() 又蓋過 phone 的 <requestFocus/>。
沒有留言:
張貼留言