java - 将值从膨胀的 EditText 添加到 ArrayList
问题描述
我是编程新手,所以如果这是一个愚蠢的问题,请原谅。我有两个按钮。首先将 EditText 添加到 Activity,然后将输入的值保存到数组。问题是它只保存第一个 EditText 的值。因此,如果我想对数组中的所有值求和,我将得到第一个值乘以添加的 EditText 的数量。先感谢您。
ArrayList<EditText> editText2ArrayList = new ArrayList<EditText>();
int j = 0;
添加 EditText 的按钮
public void addButtonMethod(View view){
ImageButton addButton = findViewById(R.id.addButton);
ImageButton confirmButton = findViewById(R.id.confirmButton);
LinearLayout itemList = findViewById(R.id.AddLayout);
View item = LayoutInflater.from(this)
.inflate(R.layout.add_textview, itemList, false);
itemList.addView(item);
confirmButton.setVisibility(View.VISIBLE);
addButton.setBackgroundResource(R.drawable.gray_round_button);
addButton.setClickable(false);
EditText addEditText2 = findViewById(R.id.add_edit_text_2); // this is EditText from R.layout.add_textview
editText2ArrayList.add(j, addEditText2);
}
确认输入文本的按钮
public void confirmButtonMethod(View view){
ImageButton addButton = findViewById(R.id.addButton);
ImageButton confirmButton = findViewById(R.id.confirmButton);
EditText currentAddEditText2 = editText2ArrayList.get(j);
j++;
if(currentAddEditText2.getText().toString().trim().length() > 0){
String priceString = currentAddEditText2.getText().toString();
Float price = Float.parseFloat(priceString);
productPrices.add(price);
confirmButton.setVisibility(View.INVISIBLE);
addButton.setBackgroundResource(R.drawable.round_button);
addButton.setClickable(true);
}
else{
Toast.makeText(this, "Please enter the price", Toast.LENGTH_SHORT).show();
}
}
解决方案
推荐阅读
- java - 如何使用java和pdfbox从pdf中获取垂直字符串的坐标?
- rust - 如何将 and_then 链分成两部分?
- ms-access - 如何使用表单中的查询记录向表中添加多条记录
- bash - 将`ls -1`的多行输出存储在变量中
- javascript - 使用 reduce() 同时读取两个变量
- python - 如何使用 pyqt4 自动关闭 QDialogueBox
- asp.net-mvc - 如何在 ASP.NET MVC 控制器中调用异步方法?
- node.js - 等待嵌套在另一个等待函数中的函数调用的行业标准是什么?
- reactjs - 如何在 ES6、React Native、CommonJS 中正确地要求图像
- excel - 使用 excel 宏移动文件