我有几个 EditTexts 排列在行和列上。这些 EditTexts 包含产品名称、数量和价格以及一个实时显示总数的 TextView(每次在其中一个 EditTexts 上书写时都会计算它)我已经设置了一个按钮在单击时将行的可见性(产品名称、价格和数量的 3EditTexts)设置为 GONE 的每一行。我的问题是,在我将可见性设置为 GONE 之后,虽然没有更多的 EditTexts,但它仍然会从 GONE 之前计算它们的值。
我现在的问题是,当 EditTexts 设置为 visibility.GONE 时会发生什么?我的应用程序实时计算,所以当 EditText 发生某些事情时,他会再次计算..但就像值仍然存在......这不应该是隐形和消失之间的区别吗?
我将向您展示我的计算方式(即使在您按下 X 按钮以擦除 EditTexts 后也会调用它,不仅在您更改 EditTexts 内的值时)
public void calculeaza() {
totaltest = 0;
prod = new String[allprod.size()];
pret = new String[allpret.size()];
cant = new String[allcant.size()];
for (int m = 0; m < allprod.size(); m++) {
prod[m] = allprod.get(m).getText().toString();
if (prod[m].matches("")) {
prod[m] = " - ";
}
}
for (int j = 0; j < allcant.size(); j++) {
cant[j] = allcant.get(j).getText().toString();
if (cant[j].matches("")) {
cant[j] = Float.toString(0);
}
}
for (int k = 0; k < allpret.size(); k++) {
pret[k] = allpret.get(k).getText().toString();
if (pret[k].matches("")) {
pret[k] = Float.toString(0);
}
}
for (int l = 0; l < allpret.size(); l++) {
Float temp = Float.parseFloat(cant[l]) * Float.parseFloat(pret[l]);
totaltest = totaltest + temp;
TextView totalf = (TextView) findViewById(R.id.total);
totalf.setText(String.format("Total: %.2f", totaltest));
}
}