通过按钮实现数量加减的操作
实现类似购物车的实现,点击加按钮进行加一,点击减按钮进行减一,若数量小于1则提示输入一个大于0的数字,也可以手动输入大于0的数字
layout的布局代码如下
<LinearLayout
android:gravity="center_horizontal"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textSize="20sp"
android:text="数量"
android:layout_width="50dp"
android:layout_height="wrap_content" />
<ImageButton
android:background="@drawable/ic_minus_circle"
android:id="@+id/minus"
android:layout_width="30dp"
android:layout_height="30dp" />
<EditText
android:background="@color/transparent"
android:inputType="number"
android:layout_marginLeft="30dp"
android:textSize="20sp"
android:layout_gravity="center_horizontal"
android:text="0"
android:id="@+id/number"
android:layout_width="50dp"
android:layout_height="30dp" />
<ImageButton
android:background="@drawable/ic_plus_circle"
android:id="@+id/plus"
android:layout_width="30dp"
android:layout_height="30dp" />
</LinearLayout>
activity代码如下
public class MainActivity extends Activity {
private EditText number;
private ImageButton minus;
private ImageButton plus;
private int count;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
number = findViewById(R.id.number);
plus = findViewById(R.id.plus);
minus = findViewById(R.id.minus);
ButtonPlus buttonlistener = new ButtonPlus();
plus.setOnClickListener(buttonlistener);
ButtonMinus buttonMinus = new ButtonMinus();
minus.setOnClickListener(buttonMinus);
}
class ButtonMinus implements View.OnClickListener {
@Override
public void onClick(View view)
//得到输入框里的数字{
String numString = number.getText().toString();
//进行判断为空或是没文字设置为0
if (numString == null || numString.equals("")) {
count = 0;
} else {
int numInt = Integer.parseInt(numString);
//判断,当小于1时提示输入一个大于0的数
if (numInt < 1) {
Toast.makeText(MainActivity.this, "请输入一个大于0的数字", Toast.LENGTH_SHORT).show();
} else {
//设置EditText光标位置为文本末端
number.setSelection(number.getText().toString().length());
//为numInt进行减的操作
numInt--;
count = numInt;
number.setText(count + "");
}
}
}
}
class ButtonPlus implements View.OnClickListener {
@Override
public void onClick(View view) {
//为numInt进行加的操作
count++;
number.setText(count + "");
}
}
}
进行加操作的效果图
进行减操作的效果图