2016-09-04 4 views
2

У меня есть ListView в моем MainActivity.java. Адаптер для этого вида списка устанавливается из класса AsyncTask, который извлекает данные из базы данных sqlite. Теперь мне нужно установить OnItemClickListener для ListView. Я попытался установить Listener из разных классов, включая класс MainActivity и класс, расширяющий класс ArrayAdapter, но по какой-то причине он не работает.Настройка OnItemClickListener от адаптера Класс

Я также попытался это сделать из класса, простирающейся AsyncTask, но я получаю сообщение об ошибке сказав, что мне нужно, чтобы установить слушатель из потока UI

@Override 
    protected void onPostExecute(String s) { 
     if(s.equals(SUCCESS_FETCH_ALL)){ 
      mList.setAdapter(adapter); 
     } 
     else if (s.equals(SUCCESS_INSERT)) 
      mActivity.startActivity(new Intent(mContext, MainActivity.class)); 
    } 

Я также пытался создать отдельный класс и сделать его реализации Click Слушатель

The entire code is on Github

Ниже приведены ссылки для классов, которые участвуют в этом вопросе

+0

Где код для установки onItemClick на ListView? Непонятно, почему вы хотите установить слушателя из адаптера –

ответ

2

В LectureListAdapter вы можете установить clickListener в getView()

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

      ..... 

     row.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v){ 
      // do your stuff here for onlick 
     } 
     }); 
     return row; 
    }