enter image description here我已经使用RecyclerView完成了动态生成的EditText的工作,并在RecyclerView中使用了了TextWatcher来安排了数据,所有代码工作正常,但是我面临着将EditText的每个整数值存储在数组中的问题。假设我在RecyclerView中有3个EditText,然后将每个EditText随机分配为1,2和3,那么我想将每个值存储为[1,2,3]。.请让我知道解决方案并检查下面的代码,我该怎么做。
预先感谢。
holder.edtValue.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
////////sum of edit text count//////////////
if (s.length() > 0) {
int number = Integer.parseInt(s.toString());
ans -= number;
}
///////////////////////////////////////////
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() == 0)
{
android.get(position).setTicketId(String.valueOf(0));
holder.edtValue.setText("0");
} else {
try {
double e1 = Double.parseDouble(s.toString());
double e2 = Double.parseDouble(android.get(position).getAmount());
double e3 = Double.parseDouble(holder.text.getText().toString());
int j = (int) e1;// this is important edit text value to count and save in array...
int j1 = (int) e2;
int j2 = (int) e3;
asasaqty = new String[android.size()];
if (s.length() != 0)
{
for (int i = 0; i < android.size(); i++) {
asasaqty[i] = android.get(i).getAmount();
}
System.out.println("==========asasaqty========" + Arrays.toString(asasaqty));
}
holder.txtAnswer.setText(String.valueOf(j * j1));
//android.add(position,).setTicketId(String.valueOf(e1*e2));
double e4 = j + j2;
android.get(position).setTicketId(String.valueOf(e4 * e2));
TicketBookFragment ticketBookFragment = new TicketBookFragment();
int value = 0;
for (int i = 0; i < android.size(); i++) {
value += Double.parseDouble(android.get(i).getTicketId());
}
ticketBookFragment.getamount(String.valueOf(value));
////////sum of edit text count//////////////
// int number = Integer.parseInt(s.toString());
//ans += number;
///////////////////////////////////////////
for (int i = 0; i < holder.edtValue.length(); i++) {
int number = Integer.parseInt(holder.edtValue.toString());
ans += number;
allVALUE.add(String.valueOf(ans));
abcdd = allVALUE.toString();
//allVALUE.add(",");
}
//abcdd = s.toString();
//txtOutput.setText("sum is " + ans);
//int count = holder.edtValue.getText().toString().length();
//holder.edtValue.getText().toString()
//ticketBookFragment.getamount(String.valueOf(value),ans);
//ticketBookFragment.getamount(String.valueOf(value),count);
} catch (NumberFormatException e) {
}
答案 0 :(得分:0)
据我了解的问题。您要在EditText中输入1,2,3,并有一个数组[1,2,3]。
如果是这样,您必须非常准确地输入内容。然后将String.split()
与“,”用作分隔符。这将为您提供一个String数组。然后遍历该数组,并使用parseInt创建一个整数数组。
另一种方法是遍历字符串并找到每个数字。
最后一种方法是使用Regex,并获取字符串中的所有数字。可能是一个非常高级的解决方案,但应该提一下。