相关疑难解决方法(0)

如何在EditText中输入自动添加千位分隔符作为数字

我创建一个转换器应用程序,我想设置EditText,以便当用户输入要转换的数字时,一旦它增加3个数字,就应该实时自动添加一千个分隔符(,)....千万,百万,十亿等,当删除到4以下数字时,这个数字会恢复正常.有帮助吗?谢谢.

android android-emulator android-layout android-edittext

48
推荐指数
6
解决办法
4万
查看次数

如何在EditText中输入"负十进制数"?

我正在制作一个计算器,我想确保用户能够输入"负十进制数"我单独看到xml文件中的选项,例如为了输入十进制数,EditText的inputType必须是numberDecimal,并且负数,inputType必须是"numberSigned",但我需要两者.如果我选择inputType作为"text",那么如果不是数字,用户可以输入抛出异常的任何内容.我不知道如何解决这个问题.

math android exception android-edittext

12
推荐指数
3
解决办法
1万
查看次数

Android - 逗号作为数字键盘上的小数点分隔符

我们需要一个数字键盘EditText.键盘应具有基于设备所选语言环境的小数分隔符.我们通过将自定义设置为DigitsKeyListener来实现此目的EditText

public class NumericDigitsKeyListener extends DigitsKeyListener {


    @Override
    protected char[] getAcceptedChars() {

        char[] acceptedCharacters = null;

            acceptedCharacters =  new char[] {
                    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                    new DecimalFormatSymbols(Locale.getDefaultLocale()).getDecimalSeparator()

        return acceptedCharacters;
    }

    /**
     * @see android.text.method.DigitsKeyListener#getInputType()
     */
    public int getInputType() {
        return InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL;
    }
Run Code Online (Sandbox Code Playgroud)

以上似乎适用于大多数设备,但对于三星Galaxy S-II,软键盘在键盘上没有逗号.设备的swype键盘显示逗号,但默认设置不显示.

我试过覆盖这里提到的DigitsKeyListener

有没有办法可以强制所有设备在数字键盘上使用逗号(适用时甚至是总是)?

android locale comma android-softkeyboard galaxy

8
推荐指数
1
解决办法
6302
查看次数

实时编辑用户输入

是否可以EditText 在用户输入数据时自动插入字符?

也就是说,如果用户输入一个长号码,例如123456789012,这个号码是否可能在他在编辑文本框中输入时显示,但是每隔4个字符都有一个短划线?

因此,当您键入上面的数字时,您会看到它在EditText框中输入,但看起来像这样:1234-5678-9012.

目前我有一个应用程序,您可以在其中输入一个长号,然后按一个按钮,它会为您插入破折号,但我很好奇是否可以在键入时完成?

非常感谢任何帮助.

string android android-edittext

7
推荐指数
2
解决办法
1万
查看次数

键盘在ladscape方向不显示小数点分隔符

当尝试使用逗号(,)作为小数分隔符和inputType="numberDecimal"(或"number")时,我在横向模式的智能手机中遇到问题,逗号未显示.

我的布局:

在此输入图像描述

当我打开键盘时:

在此输入图像描述

我的EditText布局.

<EditText
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:digits="0123456789,"
 android:inputType="numberDecimal"
 android:text="5,2" />
Run Code Online (Sandbox Code Playgroud)

我的默认值Localept_BR,逗号是小数点分隔符.

在"平板电脑"是可以的,因为键盘不是全屏的.

在此输入图像描述

如果我删除android:inputType="numberDecimal",也没关系,但不显示数字键盘.

有什么建议?

编辑#1

我找到的部分解决方案是添加android:imeOptions="flagNoFullscreen".

编辑#2

逗号被世界的一半采用.为什么在Android上这么难?:(

android landscape decimal android-softkeyboard

7
推荐指数
1
解决办法
573
查看次数

Comma doesnt work on Samsung Android Keyboard

I set InputType.TYPE_NUMBER_FLAG_DECIMAL or InputType.TYPE_CLASS_NUMBER to my EditText and i want to use comma for decimal separator. So i set digits "0123456789.," to EditText.

editText.keyListener = DigitsKeyListener.getInstance("0123456789.,")
Run Code Online (Sandbox Code Playgroud)

I set a TextWatcher on EditText to handle user input. When i clicked comma(",") on Android emulator keyboard, it is working as expected but if i get build on my phone, which has Samsung Keyboard, comma key is disabled and doesnt work. I searched so much but i couldn't find a way.

Any …

android samsung-mobile kotlin android-studio

5
推荐指数
1
解决办法
510
查看次数

Android EditText中文本更改时自动添加千位分隔符

我想要完成同样的任务有很多答案,甚至在我的案例中找不到任何有用的解决方案

我见过

问题1 - 问题在于添加逗号计数"." (DOT)也作为数值.

问题2 - 问题是它在文本被更改时没有显示它的结果

问题3 - 问题是在第15个字母后连续添加0.

还有更多问题和答案,

但是我找不到任何符合千分离器一般要求的东西.

是否有任何有用的提示可以帮助我在文本更改时顺利添加千位分隔符,并对小数点后的数字作为计算器进行不同的处理?

我会感激任何帮助.

android android-edittext

4
推荐指数
1
解决办法
4135
查看次数

保留退格键不会一一清除文本

我有一个EditText实现TextWatcher,但是Backspace键有问题。按住退格键时,前5个字符被一一清除,但是按住退格键时,转换为图像的后5个字符不能一一清除。

看图片:

在此处输入图片说明

  1. MainActivity.java

    public class MainActivity extends AppCompatActivity {
    Spannable.Factory spannableFactory;
    
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    spannableFactory = Spannable.Factory
            .getInstance();
    
    final EditText editText = (EditText) findViewById(R.id.editText);
    editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
    
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            editText.removeTextChangedListener(this);
            if (s.length() >= 5) {
                editText.setText(getTextToIcon(getApplicationContext(), s));
            }
            if(count!=0){                               // != key delete
                if (s.length() - 1 > start) {
                    editText.setSelection(start + 1); …
    Run Code Online (Sandbox Code Playgroud)

android backspace android-edittext

4
推荐指数
1
解决办法
1088
查看次数

软键盘用逗号代替dot中的小数点分隔符在android中

我一直在阅读关于这个问题的一些线索,有些没有得到解答,其他人(从2011年开始)解释了这是一个已知的错误.

这已经解决了吗?现在可以显示带有文化信息的软键盘吗?我想显示一个十进制键盘,显示","而不是小数点分隔符的"点".

提前致谢.

android

2
推荐指数
1
解决办法
8518
查看次数