2016-02-17 2 views
0

Я пытаюсь создать пользовательский адаптер, у меня есть сообщение об ошибке говорящее нет конструктора по умолчанию не доступен Установка Конструктора для пользовательского адаптера

public class GuessAdapter extends ArrayAdapter <Game> { 

    Context context; 
    int resource; 
    Peg[] guess; 
    LayoutInflater inflater; 

    public void PegArrayAdapter(Peg[] array, Context ctxt){ 
     guess= array; 
     context = ctxt; 
     inflater = (LayoutInflater) ctxt.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 

    public int getCount() { 
     return guess.length; 
    } 

    @Override 
    public Game getItem(int arg0){ 
     return guess[arg0]; 
    } 

    public long getItemId(int arg0){ 
     return arg0; 
    } 

    @Override 
    public View getView(int arg0, View arg1, ViewGroup arg2){ 

     View view = arg1; 

     if (arg1==null){ 
      arg1 = inflater.inflate(android.R.layout.simple_list_item_1, arg2, false); 
     } 

     ImageView imageView =(ImageView)arg1.findViewById(R.id.imageView); 
     ImageView imageView2=(ImageView)arg1.findViewById(R.id.imageView2); 
     ImageView imageView3=(ImageView)arg1.findViewById(R.id.imageView3); 
     ImageView imageView4=(ImageView)arg1.findViewById(R.id.imageView4); 

     return view; 
    } 
} 

что бы фитинг конструктора для этого адаптера быть?

ответ

0

этого

public void GuessAdapter(Peg[] array, Context ctxt){ 
    super(ctxt, 0, array); 
} 
0

Вы не добавил конструктор пользовательского адаптера. Вам нужно создать конструктор, который будет звонить super.

Добавить этот метод в пользовательском адаптере

public GuessAdapter(Peg[] array, Context ctxt) { 
    super(ctxt, 0, array); 
    guess= array; 
    context = ctxt; 
    inflater = (LayoutInflater) ctxt.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
} 

Кроме того, нет использования метода PegArrayAdapter, вы можете удалить это впоследствии.

0

Лучший способ сделать пользовательский адаптер - использовать BASEADAPTER. В этом не будет никаких проблем. Просто добавьте свой класс CustomAdapter в BaseAdapter. Надеюсь, он отлично работает.

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