我的屏幕问题很烦人.屏幕由一堆一个在另一个下面的Spinners组成,然后在微调器下面,一个EditText.
问题是当屏幕启动时,EditText具有焦点,这意味着一些Spinners不在屏幕顶部.尽我所能,我无法通过<requestFocus/>在屏幕上使用XML或requestFocus()在代码中使用顶级Spinner开始集中注意力.我试图做什么requestFocus跳过下一个EditText建议,如果我正确地遵循建议,它也不起作用.
要重现此问题,请在Eclipse中创建一个新的Android项目.main.xml是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Spinner
android:id="@+id/spinner"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<requestFocus />
</Spinner>
<EditText
android:id="@+id/edittext"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
活动代码是
package nz.co.kb.testspinner;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class TestSpinner extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
View view = getLayoutInflater().inflate(R.layout.main, null);
final View spinner = view.findViewById(R.id.spinner);
view.post(new Runnable() {
public void …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有一个注册屏幕,有很多EditTexts和Spinners.我想逐一浏览"注册"字段.
所以我申请了android:imeOptions="actionNext".但它忽略了所有的Spinners.它将仅关注EditText.我也试过了setNextFocusDownId().这也忽略了纺纱厂.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/reportentry11"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/numbers"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:inputType="phone"
>
<requestFocus/>
</EditText>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/reportentry12"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/txt_exp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="EXP:"
android:textColor="#000000"
android:textSize="12dp" />
<Spinner
android:id="@+id/spin_date"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="3"
android:focusable="true"
android:focusableInTouchMode="true"
android:nextFocusDown="@+id/spin_year"
android:text="date"
android:textSize="12dp" />
<Spinner
android:id="@+id/spin_year"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dp"
android:nextFocusDown="@+id/cvc"
android:text="year"
android:textSize="12dp" />
</LinearLayout>
<EditText
android:id="@+id/cvc"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:hint="@string/reg_label_cvc"
android:imeOptions="actionNext"
android:inputType="phone" />
<EditText
android:id="@+id/fname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/reg_label_fname"
android:imeOptions="actionNext" />
<EditText
android:id="@+id/address"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/reg_label_address"
android:imeOptions="actionNext" /> …Run Code Online (Sandbox Code Playgroud) 示例:我的注册表单字段如下:
我想这样做:
有可能做出这样的功能吗?
android-edittext android-fragments android-spinner android-radiogroup