簡體   English   中英

Android - 片段中的適配器問題

[英]Android - Adapters in fragments issue

我是Android開發的新手,當我嘗試在片段中使用適配器時出現錯誤,我試着在onCreateView下編寫這一行

valueAdapterEn = new ValueAdapterEn(English_list, this);

此錯誤在此部分(English_list, this)

ValueAdapterEn

public class ValueAdapterEn extends BaseAdapter implements Filterable {

private ArrayList<String> English_List;
private ArrayList<String> Filterd_EngList;
private LayoutInflater mInflater;
private ValueFilter valueFilter;

public ValueAdapterEn(ArrayList<String> English_List, Context context){
    this.English_List = English_List;
    this.Filterd_EngList = English_List;
    mInflater = LayoutInflater.from(context);
    getFilter();
}

@Override
public int getCount() {
    return 0;
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    return null;
}

@Override
public Filter getFilter() {
    return null;
 }
}

logcat的

Error:(84, 30) error: constructor ValueAdapterEn in class ValueAdapterEn cannot be applied to given types;
required: no arguments
found: ArrayList<String>,TwoFragment
reason: actual and formal argument lists differ in length

問題可能在'這個'

您已經在constuctor函數中創建了沒有參數的ValueAdapterEn類,因為日志消息顯示在那里我猜。如何在class傳遞參數。請發布相關代碼以獲得更多幫助,並在深入挖掘之前先學習core-java一些android代碼。你可以從這個這個傾向於constructor

您的ValueAdapterEn構造函數沒有采用上下文:

你必須像下面那樣實例化你的上下文;

  public class ValueAdapterEn extends BaseAdapter implements Filterable {
  private Context context;
     public ValueAdapterEn(ArrayList<String> English_List, Context context){
             this.context = context ;
   }
   ......

  }

而不是this你必須傳遞contextgetActivity()

我還沒有被允許評論,但我想那里的適配器需要一個上下文,你試圖在第二個參數中傳遞。 片段不是有效的上下文。 使用getActivity()代替this

暫無
暫無

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

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