我希望我的活动每次用户执行操作(增大或减小文本字段中的值)时都检查TextView / EditText中的String(整数)的值
Activity从两个不同的Activite调用,Activity A的起始值为20,Activity B的起始值为10。
现在,我希望用户更正此值(如果他愿意),并且需要检查,用户(A)的值不会低于20,而用户(B)的值不会低于20 10,另一方面,当用户增加此数字时,我需要打印警告文本+信息文本,例如: W:“只有20(A)/ 10(B)的空间” 我:“增加会带给您...”,在这里,我将在字段中输入给定数字的一些值
XML:
<RelativeLayout
android:layout_centerHorizontal="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="@dimen/big_padding">
<Button
android:id="@id/btn_minus"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="-" />
<Button
android:id="@+id/btn_plus"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/number"
android:layout_width="wrap_content"
android:text="+" />
<EditText
android:id="@+id/number"
android:inputType="number"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/btn_minus"
android:layout_width="100dp" />
<TextView
android:id="@+id/info"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<TextView
android:id="@+id/warning"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
</RelativeLayout>
这里是我的JavaCode
EditText num;
Button btn_plus, btn_minus;
(..)
if(id.equals("A")) {
// Activity A, limit = 20
num.setText("20");
btn_plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int t = Integer.parseInt(counterTxt.getText().toString());
num.setText(String.valueOf(t+1));
}
}
//same for btn_minus
} else {
// Activity B, limit=10
num.setText("10");
}
绝对有效的方法:if(t <20){...}-好的。 但是,在每次“ onClick”之后,此处的if / else值在代码方面似乎有点长。 有没有更优雅的方法来解决这个问题?
答案 0 :(得分:0)
您可能正在寻找与此类似的东西...此代码将使您可以增加一个值,并观察每次单击后该值的变化。
int number = 15;
Button plus, minus;
EditText value;
plus.setOnClickListener(new View.onClickListener(){
number++;
if(number > max)
number = max;
value.setText(number);
});
minus.setOnClickListener(new View.onClickListener(){
number--;
if(number < min)
number = min;
value.setText(number);
});