EditText会自动转到最新的char吗?

时间:2014-01-25 17:41:29

标签: android xml textview

我想为android创建简单的计算器,并且在显示长方程时遇到问题。一切都好(一行,水平滚动),但我看不到行尾(总是看到行的开头)。是否可以将其自动滚动到最新字符?

Example:

Hello there
...lo there
   --------

-

<EditText
        android:id="@+id/etDisplay"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:clickable="false"
        android:cursorVisible="false"
        android:ems="10"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:gravity="right"
        android:textSize="15sp"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:ellipsize="end"
        android:hint="0." />

图片:SimpleCalc image

3 个答案:

答案 0 :(得分:1)

试试这个:

EditText editText = (EditText) findViewById(R.id.editText1);
editText.setSelection(editText.getText().length());

答案 1 :(得分:0)

通过设置为ellipsize的{​​{1}}属性,(正如评论中所建议的)“官方”方式。如果它不起作用,可能是因为这个属性有点棘手,这意味着它有一些情况要发生才能工作(例如,end)。

您可能希望看到this,这在我遇到此问题时帮助了我。

答案 2 :(得分:0)

请尝试以下方法将光标置于EditText的末尾。

EditText etDisplay=(EditText) findViewById(R.id.etDisplay); etDisplay.setSelection(etDisplay.gettext().length());