【问题标题】:Android EditText box and cursor/text moving aroundAndroid EditText 框和光标/文本四处移动
【发布时间】:2016-06-14 04:05:47
【问题描述】:

我有一个具有 3 个 EditText 小部件的 android 应用程序。当我输入值时,一切都很好。当我单击一个按钮时,光标和/或类似的文本会落在该行的下方,如图所示。我可以单击并上下拖动文本/光标(就像它是日期选择器或其他东西一样)。这确实发生在所有 3 个字段上。这发生在设备和模拟器中。

我不记得更改那些可能导致这种情况的小部件上的任何属性,等等,检查所有属性并不能说明导致它的原因。即使没有任何值,例如 discount 字段,我也可以移动 hint 文本,就像移动用户输入的值一样。我想也许它与我对 onClickListenener 所做的事情有关,但我没有在那里改变任何东西。我可以从溢出菜单中选择一个选项,它也会发生在那里。关于为什么会发生这种情况的任何想法?

字段的 XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_calc">

 <TableLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
     android:id="@+id/tableLayout">

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="match_parent">

        <EditText
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:ems="10"
            android:id="@+id/etxtPrice"
            android:layout_column="1"
            android:textAlignment="center"
            android:hint="Price"/>

        <EditText
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:ems="10"
            android:id="@+id/etxtDiscount"
            android:layout_column="2"
            android:textAlignment="center"
            android:hint="Discount" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="%"
            android:id="@+id/textView"
            android:layout_column="3"
            android:textSize="20dp" />

        <EditText
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:ems="10"
            android:id="@+id/etxtTax"
            android:layout_column="4"
            android:textAlignment="center"
            android:hint="Tax" />

    </TableRow>

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:

    由于编辑文本的高度是 wrap_content.. 编辑文本可以容纳任意数量的文本行。使用 android:singleLine="true" 属性将其强制为单行。

    【讨论】:

    • 添加这一行不会改变不良行为。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多