如何在Android Studio中将EditText定义为正整数(> = 1)或大于3的整数?

时间:2017-02-03 17:42:22

标签: android android-studio

我正在尝试通过Android Studio(v2.2.3)创建一个简单的Android应用。我是新手,希望有人能帮助我回答以下问题:

  1. 我的应用需要输入一些输入 - >点击按钮 - >显示输出。所以,从小部件部分,我应该选择“EditText”作为输入,“TextView”作为输出,“按钮”作为按钮,对吧?

  2. 每个输入都有自己的约束。其中一些需要是正整数(不包括0),其中一些需要大于3.我如何设置这些约束?如果用户违反约束,我怎么能弹出警报?

  3. 提前致谢。

2 个答案:

答案 0 :(得分:0)

你可以在这里使用一些基本的java逻辑.. !!

addTextChangeListener()到你的编辑文本,如

yourEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            // TODO Auto-generated method stub
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            // TODO Auto-generated method stub
        }

        @Override
        public void afterTextChanged(Editable s) {

            // Here make your logics
        }
    });

然后在afterTextChanged()

中进行计算

像...这样的东西。

int enteredValue = Integer.parseInt(s.toString());
if(enteredValue<0){
//Value is negative
//TODO Alert your user and Empty the EditText
}

如果发生违规,您可以在此处制定任何约束并弹出警告。

答案 1 :(得分:0)

  

我的应用需要输入一些输入 - &gt;点击按钮 - &gt;显示输出。所以,从小部件部分,我应该选择&#34; EditText&#34;输入,&#34; TextView&#34;输出和&#34;按钮&#34;对于按钮,对吗?

正确

  

其中一些需要是一个正整数(不包括0),其中一些需要大于3.我怎么能设置这些约束?如果用户违反约束条件,我怎么能弹出警报?

声明2 EditText > Get value from it > parse String to int > check if valid or not

EditText one = (EditText) findViewById(R.id.your_id);
EditText two = (EditText) findViewById(R.id.your_id);

String oneValue = one.getText().toString();
String twoValue = two.getText().toString();
int intOne = Integer.parseInt(oneValue);
int intTwo = Integer.parseInt(twoValue);

if(TextUtils.isEmpty(oneValue) || intOne < 1){       //this block checks int < 1 
   one.setError("Error with value ! Bla bla");
   return;
}

if(TextUtils.isEmpty(twoValue) || intTwo < 3){       //this block checks int < 3
   two.setError("Error with value two ! Bla bla");
   return;
}