亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

RecyclerView 崩潰

RecyclerView 崩潰

嚕嚕噠 2023-02-23 17:43:04
我是 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());


查看完整回答
反對 回復 2023-02-23
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

嘗試這樣做——在onBindViewHolder中 替換——

quanT.setText(current.getQuantity());

quanT.setText(current.getQuantity()+"");

setText() 方法只接受字符串值,數量是整數值..所以這里可能會崩潰..


查看完整回答
反對 回復 2023-02-23
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

代替

quanT.setText(current.getQuantity());

quanT.setText(String.valueOf(current.getQuantity()));

setText()僅適用于字符串。


查看完整回答
反對 回復 2023-02-23
  • 3 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號