我正在尝试通过Android Studio(v2.2.3)创建一个简单的Android应用。我是新手,希望有人能帮助我回答以下问题:
我的应用需要输入一些输入 - >点击按钮 - >显示输出。所以,从小部件部分,我应该选择“EditText”作为输入,“TextView”作为输出,“按钮”作为按钮,对吧?
每个输入都有自己的约束。其中一些需要是正整数(不包括0),其中一些需要大于3.我如何设置这些约束?如果用户违反约束,我怎么能弹出警报?
提前致谢。
答案 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;
}