java - 将增加/减少按钮与编辑文本(数字)混合
问题描述
我有一个在线安卓应用商店,当用户尝试输入大量数量时,他应该继续点击增加按钮,(你可以想象如果他想输入 100 个项目有多难)。因此,为了解决它,我尝试将 EditText 添加到增加和减少按钮,增加/减少按钮效果很好。 问题是:当我通过使用 EtideText 键入数量来输入值时,该值不会传递给下一个活动
布局:
<LinearLayout
android:id="@+id/ll_controller"
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="@dimen/value_3"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/cart_round_button"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/value_3">
<ImageView
android:id="@+id/tvIncrement"
android:layout_width="45dp"
android:layout_height="45dp"
app:srcCompat="@drawable/ic_plus_sign" />
<EditText
android:id="@+id/tvQuantity"
style="@style/txt_black_medium"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginTop="@dimen/value_1"
android:layout_marginBottom="@dimen/value_1"
android:gravity="center"
android:text="1"
android:textColor="@color/colorPrimary"
android:textSize="24sp"
android:ems="10"
android:inputType="number" />
<ImageView
android:id="@+id/tvDecrement"
android:layout_width="45dp"
android:layout_height="45dp"
app:srcCompat="@drawable/ic_minus_sign" />
</LinearLayout>
活动:
holder.tvQuantity.setTextColor(Color.parseColor(((BaseActivity) activity).getPreferences().getString(Constant.APP_COLOR, Constant.PRIMARY_COLOR)));
holder.tvQuantity.setText(list.get(position).getQuantity() + "");
holder.tvIncrement.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int quntity = Integer.parseInt(holder.tvQuantity.getText().toString());
quntity = quntity + 1;
if (list.get(position).isManageStock()) {
if (quntity > list.get(position).getStockQuantity()) {
Toast.makeText(activity, ((BaseActivity) activity).getString(R.string.only) + "" + list.get(position).getStockQuantity() + "" + ((BaseActivity) activity).getString(R.string.quntity_is_avilable), Toast.LENGTH_SHORT).show();
} else {
holder.tvQuantity.setText(quntity + "");
databaseHelper.updateQuantity(quntity, list.get(position).getProductid(), list.get(position).getVariationid() + "");
list.get(position).setQuantity(quntity);
onItemClickListner.onItemClick(position, RequestParamUtils.increment, quntity);
}
} else {
holder.tvQuantity.setText(quntity + "");
databaseHelper.updateQuantity(quntity, list.get(position).getProductid(), list.get(position).getVariationid() + "");
list.get(position).setQuantity(quntity);
onItemClickListner.onItemClick(position, RequestParamUtils.increment, quntity);
}
}
});
holder.tvDecrement.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int quntity = Integer.parseInt(holder.tvQuantity.getText().toString());
quntity = quntity - 1;
if (quntity < 1) {
quntity = 1;
}
holder.tvQuantity.setText(quntity + "");
databaseHelper.updateQuantity(quntity, list.get(position).getProductid(), list.get(position).getVariationid() + "");
list.get(position).setQuantity(quntity);
onItemClickListner.onItemClick(position, RequestParamUtils.decrement, quntity);
}
});
}
}
解决方案
你应该将它实施到你的成绩文件中
implementation 'com.github.travijuu:numberpicker:1.0.7'
在 XML 布局文件中。
<com.travijuu.numberpicker.library.NumberPicker
android:id="@+id/number_picker"
android:layout_width="130dp"
android:layout_height="40dp"
numberpicker:min="0"
numberpicker:max="10"
numberpicker:value="-5"
numberpicker:unit="1"
numberpicker:focusable="false"
numberpicker:custom_layout="@layout/number_picker_custom_layout" />
在 java 文件中。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NumberPicker numberPicker = (NumberPicker) findViewById(R.id.number_picker);
numberPicker.setMax(15);
numberPicker.setMin(5);
numberPicker.setUnit(2);
numberPicker.setValue(10);
}
}
推荐阅读
- regex - 在 perl 正则表达式中获取和运行 shell 函数
- neo4j - 如果我有 Neo4j 图数据库,我可以在两个主节点的子节点之间建立关系吗?
- django - Django无法识别的令牌:“@”而查询
- amazon-web-services - 将所有对象复制到具有不同结构的不同区域的另一个 S3 存储桶
- java - 用于大数据的 Java Spring 服务器端 REST 流
- inheritance - 从没有强制转换类型的继承结构执行实际对象方法到继承类型
- ember.js - 为什么动态路由需要模型文件存在于 ember js 中
- python - 信息:爬取 0 页(以 0 页/分钟),抓取 0 项(以 0 项/分钟)
- python - 无法使用纸浆 python 库部署在圣杯上
- c++ - 我对 gdb 内存地址有疑问