Android 使用ArrayAdapter、OnClick事件的自定义ListView

Android 使用ArrayAdapter、OnClick事件的自定义ListView,android,android-listview,Android,Android Listview,我有一个使用Arrayadapter的自定义ListView,其中有一部分视图用于处理onClick事件。我在下面的代码中设置了它。当用户单击视图时,它将调出一个youtube视频。我需要知道的是如何为每个单独的视图点击播放不同的视频。这是我的密码 public class CustomList extends ArrayAdapter<RowItem> { Context context; private static final String[] videoId = {"-U

我有一个使用Arrayadapter的自定义ListView,其中有一部分视图用于处理onClick事件。我在下面的代码中设置了它。当用户单击视图时,它将调出一个youtube视频。我需要知道的是如何为每个单独的视图点击播放不同的视频。这是我的密码

 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;
}


}
公共类CustomList扩展了ArrayAdapter{
语境;
私有静态最终字符串[]videoId={“-Uwjt32NvVA”,“J7-8IteUvt8”,“XjwZAa2EjKA”,};
公共自定义列表(上下文,int-resourceId,
(列表项目){
超级(上下文、资源ID、项目);
this.context=上下文;
}
/*私有视图持有者类*/
私有类视窗持有者{
//图像视图图像视图;
TextView-txtTitle;
TextView txtCareer;
TextView txtSeason;
文本视图TXT游戏;
相对突出;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
ViewHolder=null;
RowItem RowItem=getItem(位置);
LayoutInflater mInflater=(LayoutInflater)上下文
.getSystemService(活动.布局\充气机\服务);
if(convertView==null){
convertView=mInflater.充气(R.layout.list_行,空);
holder=新的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=(ViewHolder)convertView.getTag();
holder.txtitle.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(新的OnClickListener(){
公共void onClick(视图v){
Intent Intent=新的Intent(Intent.ACTION_视图,Uri.parse(“vnd.youtube:+videoId”);
intent.putExtra(“视频ID”,videoId);
背景。开始触觉(意图);
}
});
返回视图;
}
}

当用户在列表中选择不同的视图时,我不知道如何播放不同的视频。

Dang太简单了。非常感谢,这工作做得很好!
 Intent intent = new Intent(Intent.ACTION_VIEW,  Uri.parse("vnd.youtube:"+videoId[position])); 
 intent.putExtra("VIDEO_ID", videoId[position]); 
 context.startActivity(intent); 
ss=(String) ((TextView) view).getText();

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