2016-01-03 14 views
0

ребята! У меня есть ListView и, конечно же, элемент с кнопкой внутри этого списка. Id_like, чтобы знать, как я могу установить слушателя на эту кнопку, а затем как собирать данные из элемента списка в точной позиции? List itemListView, кнопка внутри элемента

Я хочу нажать эту кнопку «как кнопка», а затем собрать информацию для точного элемента ArrayList. Как я могу узнать, на каком месте находится этот точный элемент?

Адаптер класс.

public class PlayerListAdapter extends ArrayAdapter<Audio> { 
private LayoutInflater layoutInflater; 

public PlayerListAdapter(Context aContext, ArrayList<Audio> listData) { 
    super(aContext, 0, listData); 
    layoutInflater = LayoutInflater.from(aContext); 
} 

public View getView(int position, View convertView, ViewGroup parent) { 
    ViewAudio viewAudio; 

    if (convertView == null) { 
     convertView = layoutInflater.inflate(R.layout.item_list_audio, null); 
     viewAudio = new ViewAudio(); 
     viewAudio.song_tittle = (TextView) convertView.findViewById(R.id.song_tittle); 
     viewAudio.song_author = (TextView) convertView.findViewById(R.id.song_author); 
     viewAudio.song_duration = (TextView) convertView.findViewById(R.id.song_duration); 
     convertView.setTag(viewAudio); 
    } else { 
     viewAudio = (ViewAudio) convertView.getTag(); 
    } 

    Audio audio = (Audio) getItem(position); 
    viewAudio.song_tittle.setText(audio.getTitle()); 
    viewAudio.song_author.setText(audio.getArtist()); 
    viewAudio.song_duration.setText(Duration.secondsToTimer(audio.getDuration())); 

    return convertView; 
} 

static class ViewAudio { 
    TextView song_tittle; 
    TextView song_author; 
    TextView song_duration; 
} 

ответ

0

общественности Посмотреть GetView (конечное положение INT, Вид convertView, ViewGroup родитель) { ViewAudio viewAudio;

if (convertView == null) { 
    convertView = layoutInflater.inflate(R.layout.item_list_audio, null); 
    viewAudio = new ViewAudio(); 
    viewAudio.song_tittle = (TextView) convertView.findViewById(R.id.song_tittle); 
    viewAudio.song_author = (TextView) convertView.findViewById(R.id.song_author); 
    viewAudio.song_duration = (TextView) convertView.findViewById(R.id.song_duration); 
    convertView.setTag(viewAudio); 
} else { 
    viewAudio = (ViewAudio) convertView.getTag(); 
} 

Audio audio = (Audio) getItem(position); 
viewAudio.song_tittle.setText(audio.getTitle()); 
viewAudio.song_author.setText(audio.getArtist()); 
viewAudio.song_duration.setText(Duration.secondsToTimer(audio.getDuration())); 
button.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View v){ 
      Log.e("position", "The position here is" + position); 
      //TODO you can get your audio data by listData.get(position) here 
    } 
}); 
return convertView; 

}

+0

Как я могу назвать эту кнопку? – Volkeee

+0

Хорошо, получилось, thx. – Volkeee

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