防止Textview android中的负数 - 代码

时间:2014-12-15 11:51:34

标签: java android textview negative-number

是否可以通过在java中编写代码来停止在android中的TextView中获取负数。

我试过这个

int up = 0;
TextView textview;

        if (allowNagativeNumbers == false) {
            if ( up < 0 ) 
            {
                up = 0;
                textview.setText(0);
            }
        }

但它仍然允许负数。我不确定这段代码是否正确,但是这段代码我的意思是每次textview中up / text的值小于0,例如-1然后将值更改为0并使textview文本为0。

4 个答案:

答案 0 :(得分:1)

TextView中使用Math.abs()功能显示您的号码之前。此功能会给您绝对值。

答案 1 :(得分:0)

我猜你想要实时发生这种情况吗?您是否正在使用textview的监听器?如果是这样,请确保它在侦听器中,并仔细检查并确保allowNegativeNumbers实际上为false。

答案 2 :(得分:0)

实现自己的TextView类(您也可以在XML文件中使用它)。

public class MyTextView extends TextView {

    @Override
    public void setText (CharSequence text, BufferType type)
    {
        if(Integer.valueOf(text) > 0)
        {
            super.setText (text, type);
        }
        else
        {
            super.setText ("0", type);
        }

}

答案 3 :(得分:0)

尝试这些陈述

int up = 5;
up = up >0 ? up: 0;

and set the text in textView.

另一种方式

从textView获取文本并将其转换为字符串。

int up = Integet.parseInt(textView.getText());
up = up >0 ? up: 0;
and set the text in textView.