gpt4 book ai didi

android - 如何获得显示文本右侧的初始光标位置

转载 作者:行者123 更新时间:2023-11-29 21:53:26 24 4
gpt4 key购买 nike

这应该很简单,但我已经在 stackoverflow 中尝试了很多关于该主题的东西,但它们要么什么都不做,要么崩溃。

我有一个以最后一个条目开头的 edittext 字段,例如“12”,我希望初始光标位于 2 的右侧,并且始终从 1 的左侧开始。如果有是一个 del 键,但键盘上只有一个返回键,用户必须在键入旧文本之前手动重新定位光标。有几个字段,他很可能想保留其中的大部分字段。如果他只想编辑第二个字段让他点击“下一步”、“bs”、“bs”、“45”、“下一步”、“完成”,我想要什么。这样他就根本不需要定位光标。

------------更新--------------------

这是主文件

package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.widget.EditText;


public class MainActivity extends Activity {
static EditText edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edit = (EditText) findViewById(R.id.edit);
edit.setSelection(edit.getText().toString().length());
}
}

这是xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_marginBottom="60dp"
android:text="12"
android:nextFocusDown="@+id/textView4"
android:inputType="number"
android:ellipsize="end"
android:gravity="right"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/edit"
android:layout_alignBottom="@+id/edit"
android:layout_toRightOf="@+id/edit"
android:text=":"
android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView3"
android:layout_alignBottom="@+id/textView3"
android:layout_toRightOf="@+id/textView3"
android:text="00"
android:inputType="number"
android:textAppearance="?android:attr/textAppearanceLarge" />

最佳答案

onCreate() 中的每个 EditText 上使用 setSelection():

edit.setSelection(edit.getText().toString().length());
edit2.setSelection(edit2.getText().toString().length());

光标仍会尊重用户的触摸手势,但轨迹球和其他移动方法将从右侧的光标开始。

关于android - 如何获得显示文本右侧的初始光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com