2014-01-06 2 views
0

У меня есть пользовательский ListView с использованием Arrayadapter, который имеет часть представления для обработки события onClick. Я установил его в коде ниже. когда пользователь нажимает на это изображение, он вытаскивает видео с YouTube. Мне нужно знать, как это сделать, это разное воспроизведение видео для каждого отдельного просмотра. Вот мой кодПользовательский ListView с использованием ArrayAdapter, событие OnClick

public class CustomList extends ArrayAdapter<RowItem> { 

Context context; 
private static final String[] videoId = {"-Uwjt32NvVA", "J7-8IteUvt8", "XjwZAa2EjKA",}; 

public CustomList(Context context, int resourceId, 
     List<RowItem> items) { 
    super(context, resourceId, items); 
    this.context = context; 
} 

/*private view holder class*/ 
private class ViewHolder { 
    // ImageView imageView; 
    TextView txtTitle; 
    TextView txtCareer; 
    TextView txtSeason; 
    TextView txtGame; 
    RelativeLayout highlight; 
} 

public View getView(int position, View convertView, ViewGroup parent) { 
    ViewHolder holder = null; 
    RowItem rowItem = getItem(position); 

    LayoutInflater mInflater = (LayoutInflater) context 
      .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
    if (convertView == null) { 
     convertView = mInflater.inflate(R.layout.list_row, null); 
     holder = new ViewHolder(); 
     holder.txtTitle = (TextView) convertView.findViewById(R.id.title); 
     holder.txtCareer = (TextView) convertView.findViewById(R.id.career); 
     holder.txtSeason = (TextView) convertView.findViewById(R.id.season); 
     holder.txtGame = (TextView) convertView.findViewById(R.id.game); 
     holder.highlight = (RelativeLayout) convertView.findViewById(R.id.highlight); 

     convertView.setTag(holder); 
    } else 
     holder = (ViewHolder) convertView.getTag(); 
    holder.txtTitle.setText(rowItem.getTitle()); 
    holder.txtCareer.setText(rowItem.getCareer()); 
    holder.txtSeason.setText(rowItem.getSeason()); 
    holder.txtGame.setText(rowItem.getGame()); 
    //holder.imageView.setImageResource(rowItem.geturl()); 

    holder.highlight .setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 


      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+videoId)); 
      intent.putExtra("VIDEO_ID", videoId); 
      context.startActivity(intent); 

     } 
    }); 

    return convertView; 
} 


} 

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

ответ

1
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+videoId[position])); 
intent.putExtra("VIDEO_ID", videoId[position]); 
context.startActivity(intent); 
+0

Dang так просто. Большое спасибо, это сработало отлично! – Ammonious

0
ss=(String) ((TextView) view).getText(); 

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+ss)); 
context.startActivity(intent); 
Смежные вопросы