[英]How to add data to list from user input
我在向列表中添加數據時遇到問題。 用戶必須輸入數據,然后在使用模型類的RecycleView
中顯示數據。
應用程序工作正常,但數據未顯示在RecycleView
上。 在一切正常之前,我添加了一個 Swipe 方法從RecycleView
中刪除項目,並且我必須將項目數據連接到模型類。 所以,我的大問題是如何將數據添加到列表中。 提前致謝
我認為主要問題是這部分代碼:
private void saveInfo() {
String ingredientName = ingrName.getText().toString();
int ingQuant = Integer.valueOf(ingrQuantity.getText().toString());
list.add(new CalculatorItemModel(ingredientName,String.valueOf(ingQuant)));
這是我的模型課
public class CalculatorItemModel {
private String ingName, ingQuantity;
public CalculatorItemModel(String ingName, String ingQuantity) {
this.ingName = ingName;
this.ingQuantity = ingQuantity;
}
public String getIngName() {
return ingName;
}
public void setIngName(String ingName) {
this.ingName = ingName;
}
public String getIngQuantity() {
return ingQuantity;
}
public void setIngQuantity(String ingQuantity) {
this.ingQuantity = ingQuantity;
}
}
在這里我的活動
public class CalculatorActivity extends AppCompatActivity implements CallBackItemTouch{
Button btnCclcola;
TextView cancel, doneBtn, nameTV, quantityTV, resulttry;
EditText ingrName, ingrQuantity, moltiplyN;
Dialog dialog;
RecyclerView recyclerView;
List<CalculatorItemModel> list;
ConstraintLayout constraintLayout;
private CalculatorAdapter calculatorAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
nameTV = findViewById(R.id.nameTV);
quantityTV = findViewById(R.id.qunatityTV);
btnCclcola = findViewById(R.id.btn_calcola);
recyclerView = findViewById(R.id.rv_calculator);
recyclerView.setHasFixedSize(true);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
calculatorAdapter = new CalculatorAdapter(list);
recyclerView.setAdapter(calculatorAdapter);
dialog = new Dialog(this);
btnCclcola.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int total = 0;
for (int i = 0; i < list.size(); i++) {
int total2 = Integer.parseInt(quantity.get(i));
total += total2;
Toast.makeText(CalculatorActivity.this, ""+ total, Toast.LENGTH_SHORT).show();
}
}
});
}
private void saveInfo() {
String ingredientName = ingrName.getText().toString();
int ingQuant = Integer.valueOf(ingrQuantity.getText().toString());
list.add(new CalculatorItemModel(ingredientName,String.valueOf(ingQuant)));
}
將項目添加到列表后調用calculatorAdapter.notifyDataSetChanged()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.