2016-08-18 2 views
1

Я довольно новый для андроида развития и когда я пытаюсь работать с адаптерами фрагментов, которые я получаю ошибку, я попытался написать эту линию под onCreateViewAndroid - Адаптеры Выпущенных фрагментов

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 

проблема может быть связана с 'этим'

+0

Вы создали ** ValueAdapterEn **? –

+0

@AparajitaSinha да, конечно, у меня есть –

+0

Пожалуйста, поделитесь своим сообщением об ошибке LogCat –

ответ

1

ваш ValueAdapterEn Конструктор не принимает контекст:

Вы должны создать экземпляр контекста, как показано ниже;

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

    } 
+0

Я добавил конструктор –

+0

Пожалуйста, добавьте полный код –

+0

@ SígvardrÓlavrsson Я обновил свой ответ –

0

вместо this вы должны пройти context Или getActivity()

+0

Я добавил LogCat, пожалуйста, уделите время, чтобы просмотреть его, и я попробовал getActivity(), но он не работал –

+0

показать мне ваш конструктор –

+0

Я думаю, вы не объявите конструктор с этими параметрами –

0

Я не имею права комментировать, но я думаю, адаптер требует контекста, который вы пытаетесь передать во втором аргументе. Фрагмент не является допустимым контекстом. Используйте getActivity() вместо this.

+0

Я добавил LogCat, пожалуйста, уделите время, чтобы просмотреть его, и я попробовал getActivity(), но это не сработало –

+0

Я посмотрел на него.Похоже, у вашего экземпляра слишком много или слишком много аргументов. Могу я увидеть вас конструктором? – meedz

+1

Пожалуйста, не публикуйте догадки как ответы. –

2

Вы должны создать этот ValueAdapterEn класс без каких-либо аргументов в constuctor как сообщение журнала показывает, что я guess.How вы можете передать аргументы в class .Please также опубликовать соответствующий код для получения дополнительной помощи, а также узнать core-java сначала до глубокого копания в некоторый код android. Вы можете огибать около constructor от this и this.

+0

Это. Мне просто интересно, как он не получает ошибку в редакторе IDE – env

+0

Я добавил конструктор –

Смежные вопросы