带EditText的Horizo​​ntalScrollView跳转到右边

时间:2014-12-13 18:13:58

标签: java android xml user-interface layout

我在HorizontalScrollViewEditTexts里面遇到了一些问题。当我开始输入HorizontalScrollView向右跳转并编辑EditText消息时虽然焦点不会丢失。但如果我删除editText.setGravity(Gravity.CENTER)一切正常。我读过有关覆盖scrollTo()的内容,但我想知道它为什么会发生并删除原因而不是后果。

以下是示例代码:

R.layout.activity_main:

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

<LinearLayout
    android:id="@+id/llRowSearch"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
</LinearLayout>

public class MainActivity extends ActionBarActivity {
private LinearLayout llRowSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    llRowSearch = (LinearLayout) findViewById(R.id.llRowSearch);

    for (int i = 0; i < 20; i++) {
        EditText editText = new EditText(this);
        editText.setLayoutParams(new LayoutParams(500,
                LayoutParams.MATCH_PARENT));
        editText.setInputType(InputType.TYPE_CLASS_NUMBER
                | InputType.TYPE_NUMBER_FLAG_DECIMAL
                | InputType.TYPE_NUMBER_FLAG_SIGNED);
        editText.setGravity(Gravity.CENTER);
        llRowSearch.addView(editText);
    }
}
}

1 个答案:

答案 0 :(得分:0)

当我们将它与Horizo​​ntalScrollView中的重力相结合时,InputType是罪魁祸首。

添加android:digits =“0123456789。”到您的EditText,它不会跳转。