我是 Android 和一般編程的新手。我正在嘗試用一些數據加載 RecyclerView。在調試模式下,直到最后,應用程序崩潰時,它才會顯示錯誤。這里使用的主要數據是一個名為 Lettura 的實體,它是房間數據庫的一部分。在這里,我調用并使用一些數據填充視圖: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.vedi_letture_simple); ArrayList<Lettura> letture = new ArrayList<>(); Date date = new Date(1989, 1, 1); Lettura a = new Lettura("a", "b", "c", 14.5, date, 1); letture.add(a); RecyclerView recView = (RecyclerView) findViewById(R.id.lettura_recyclerview); LetturaAdapter mlAdapter = new LetturaAdapter(this, letture); //made final recView.setAdapter(mlAdapter); // use a linear layout manager LinearLayoutManagr lll = new LinearLayoutManager(this); recView.setLayoutManager(lll);這里是適配器類 LetturaAdapter.class class LetturaAdapter extends RecyclerView.Adapter<LetturaAdapter.LetturaViewHolder> { private ArrayList<Lettura> letture; private LayoutInflater mInflater; public LetturaAdapter(Context context, ArrayList<Lettura> lettura){ this.mInflater = LayoutInflater.from(context); this.letture = lettura; } @Override public void onBindViewHolder(LetturaViewHolder rigaHolded, int position) { Lettura current; current = letture.get(position); TextView barT = hholded.barcodeItemView; barT.setText(current.getBarcode()); TextView desT = hholded.descriptionItemView; desT.setText(current.getDescription()); TextView priceT = hholded.priceItemView; priceT.setText(current.getPrice().toString()); TextView dateT = hholded.dateItemView; dateT.setText(current.getDate().toString()); TextView quanT = hholded.quantityItemView; quanT.setText(current.getQuantity()); }
3 回答

POPMUISE
TA貢獻1765條經驗 獲得超5個贊
我想錯誤在這里:
TextView quanT = hholded.quantityItemView; quanT.setText(current.getQuantity());
current.getQuantity()
返回 aInteger
而不是 a String
。也許,你可以試試:
TextView quanT = hholded.quantityItemView; quanT.setText(current.getQuantity().toString());

溫溫醬
TA貢獻1752條經驗 獲得超4個贊
嘗試這樣做——在onBindViewHolder中 替換——
quanT.setText(current.getQuantity());
和
quanT.setText(current.getQuantity()+"");
setText() 方法只接受字符串值,數量是整數值..所以這里可能會崩潰..

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
代替
quanT.setText(current.getQuantity());
和
quanT.setText(String.valueOf(current.getQuantity()));
setText()
僅適用于字符串。
添加回答
舉報
0/150
提交
取消