2014-01-06 193 views
0

我有一个使用ArrayAdapter的自定义ListView,它具有处理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

荡那么简单。非常感谢,这完美的工作! – Ammonious

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

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+ss)); 
context.startActivity(intent); 
相关问题