【发布时间】:2023-01-22 23:26:54
【问题描述】:
我有一个很酷的问题,我一直在努力弄清楚。 我有一个名为 Bill 的活动,它有一个 Textview 和一个 RecyclerView。我计划使用 textview 来计算我的账单,而 recyclerView 将显示这些账单。 但问题是,当我处理 RecyclerView 的 Viewholder 数据时,适配器中有一个按钮可以清除账单,以防客户退货或取消订单。 现在的问题是我不知道如何为 TextView 设置 Text,谁能帮我回答这个问题?谢谢。
这是我提到的比尔活动
package anhtuan.example.sample.feature;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.widget.TextView;
import java.util.ArrayList;
import anhtuan.example.sample.Bill.Bill_RecyclerView_Adapter;
import anhtuan.example.sample.DAO.DAO;
import anhtuan.example.sample.Model.BillModel;
import anhtuan.example.sample.R;
public class Bill extends AppCompatActivity {
TextView bill_total;
RecyclerView bill_RecyclerView;
ArrayList<BillModel>bills;
DAO dao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bill);
setTitle("Bill");
bill_total = findViewById(R.id.bill_total);
bill_RecyclerView = findViewById(R.id.bill_recyclerView);
getSupportActionBar().hide();
bills=new ArrayList<>();
dao = new DAO(Bill.this);
bills= dao.getDSBill();
bill_total.setText("Bills: "+dao.CountBill());
Bill_RecyclerView_Adapter adapter = new Bill_RecyclerView_Adapter(bills,Bill.this,dao);
bill_RecyclerView.setLayoutManager(new LinearLayoutManager(Bill.this,RecyclerView.VERTICAL,false));
bill_RecyclerView.setAdapter(adapter);
}
}
bill_total 是我用 DAO 类中名为 CountBill() 的函数计算账单的 textView
public int CountBill(){
SQLiteDatabase database = sqLite.getReadableDatabase();
Cursor c = database.rawQuery("select * from bill ",new String[]{});
int sum = c.getCount();
c.close();
return sum;
}
这是 RecyclerView 适配器
package anhtuan.example.sample.Bill;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import anhtuan.example.sample.DAO.DAO;
import anhtuan.example.sample.Model.BillModel;
import anhtuan.example.sample.R;
public class Bill_RecyclerView_Adapter extends RecyclerView.Adapter<Bill_RecyclerView_Viewholder> {
ArrayList<BillModel> bills;
Context context;
DAO dao;
public Bill_RecyclerView_Adapter(ArrayList<BillModel> bills, Context context, DAO dao) {
this.bills = bills;
this.context = context;
this.dao = dao;
}
@NonNull
@Override
public Bill_RecyclerView_Viewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.bill_viewholder,parent,false);
return new Bill_RecyclerView_Viewholder(view);
}
@Override
public void onBindViewHolder(@NonNull Bill_RecyclerView_Viewholder holder, int position) {
BillModel billModel;
billModel = bills.get(position);
holder.picture.setImageBitmap(billModel.BillBookPicture);
holder.name.setText(billModel.BillBookName);
holder.category.setText("Tag: "+billModel.BillBookCategory);
holder.date.setText("Date: "+billModel.BillDate);
holder.money.setText("Money: "+billModel.BillMoney);
holder.sale.setText("Sale: "+billModel.BillSale);
holder.totalSale.setText("Total: "+billModel.BillTotalSale);
holder.del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dao.BillDel(billModel.id);
bills = dao.getDSBill();
notifyDataSetChanged();
}
});
}
@Override
public int getItemCount() {
return bills.size();
}
}
【问题讨论】:
标签: java android android-recyclerview