簡體   English   中英

錯誤:不兼容的類型:上下文無法轉換為 ArrayList<datamodel></datamodel>

[英]error: incompatible types: Context cannot be converted to ArrayList<dataModel>

我不知道我該怎么辦,有人可以幫助我嗎?

錯誤:不兼容的類型:上下文無法轉換為 ArrayList 適配器 = new myAdapter(getApplicationContext());

你能幫我解決我的問題嗎?

這是我的 MainActivity.java:

adapter = new myAdapter(getApplicationContext());
recycler.setAdapter(adapter);

這是 myAdapter.java:

public class myAdapter extends RecyclerView.Adapter<myAdapter.myHolder> {
    ArrayList<dataModel> dataHolder;
    Context context;

    public myAdapter(ArrayList<dataModel> dataHolder) {
        this.dataHolder = dataHolder;
        //this.context = context;
    }
}

因此,您的getApplicationContext()方法返回Context ,但在您的構造函數中,您期望ArrayList<dataModel>類型的參數,這就是它拋出異常的原因。 現在您有 2 個選項:

  • 保留您的構造函數,但傳遞不同的參數

    adapter = new myAdapter(someArrayList);
  • 更改構造函數,使其接受Context

     public myAdapter(Context context) { this.dataHolder = new ArrayList<>(); this.context = context; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM