Listactivity带有多个按钮和多个视频多个、按钮、视频、Listactivity

2023-09-04 23:19:18 作者:康忙北鼻。

我有一个listactivity的应用程序,包括5排,每排cotain一个文本和5个按钮, 文字和按钮点击,文本将打开MyDay活动WHIC TextView的是,当你点击任何按钮,它必须打开videoview屏幕,其做工精细,如下图:

但是,我的问题是:

我可以给你5个不同的视频,通过5个按键每一行中被运行结束。

想有不同的视频为每个按钮等什么IM:

25按钮,打开25个不同的视频

我的意思是:

按钮(一个)在第一行将打开 video_1

按钮(二)在第一行将打开 video_2

android button 添加事件 销毁一个activity

按钮(三级)在第一行将打开 video_3

按钮(4件)在第一行将打开 video_4

按钮(五品)在第一行将打开 video_5

按钮(一个)在第二行将打开 video_6

按钮(二)在第二行将打开 video_7

等等,直到在第五行最后一个按钮

我不能做到这一点。

任何建议将AP preciated

谢谢

我的code:

ListButtons类:

 公共类ListButtons扩展ListActivity {
字符串类[] = {第一,第二,第三,第四,第五};

@覆盖
保护无效的onCreate(包savedInstanceState){
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    // TODO自动生成方法存根
    super.onCreate(savedInstanceState);

    setListAdapter(新MyArrayAdapter(本,班)); }}
 

MyArrayAdapter类:

 公共类MyArrayAdapter扩展ArrayAdapter<字符串> {

私人最终的String [] mClasses;
私人语境mContext;
私人字样TF;
私人LayoutInflater mInflater;
私有String [] MDATA = {按钮1,按钮2,按钮3,将Button4
        button5};
私人INT [] IDS = {R.id.button1,R.id.button2,R.id.button3,
        R.id.button4,R.id.button5};
INT [] [] rowDrawables = {
        {R.drawable.row_1,R.drawable.row_2,R.drawable.row_3,
             R.drawable.row_4,R.drawable.row_5},
        {R.drawable.row_6,R.drawable.row_7,R.drawable.row_8,
             R.drawable.row_9,R.drawable.row_10},
        {R.drawable.row_11,R.drawable.row_12,R.drawable.row_13,
             R.drawable.row_14,R.drawable.row_15},
        {R.drawable.row_16,R.drawable.row_17,R.drawable.row_18,
             R.drawable.row_19,R.drawable.row_20},
        {R.drawable.row_21,R​​.drawable.row_22,R.drawable.row_23,
             R.drawable.row_24,R.drawable.row_25}};

公共MyArrayAdapter(上下文的背景下,的String []班){
    超(背景下,0类);
    mClasses =班;
    mContext =背景;
    TF = Typeface.createFromAsset(context.getAssets(),BFantezy.ttf);
    mInflater = LayoutInflater.from(上下文);
                              }

@覆盖
公共查看getView(INT位置,查看convertView,ViewGroup中父){
    ViewHolder持有人;
    如果(convertView == NULL){
        convertView = mInflater.inflate(R.layout.row,空,真正的);
        持有人=新ViewHolder();
        holder.textView =(TextView中)convertView
                .findViewById(R.id.row_label);
        holder.textView.setTypeface(TF);
        holder.bt1 =(按钮)convertView.findViewById(R.id.button1);
        holder.bt2 =(按钮)convertView.findViewById(R.id.button2);
        holder.bt3 =(按钮)convertView.findViewById(R.id.button3);
        holder.bt4 =(按钮)convertView.findViewById(R.id.button4);
        holder.bt5 =(按钮)convertView.findViewById(R.id.button5);
    } 其他 {
        支架=(ViewHolder)convertView.getTag();
    }
    字符串s = mClasses [位置]
    holder.textView.setText(多个);

    INT [] rowDr = rowDrawables [位置]
    holder.bt1.setBackgroundResource(rowDr [0]);
    holder.bt2.setBackgroundResource(rowDr [1]);
    holder.bt3.setBackgroundResource(rowDr [2]);
    holder.bt4.setBackgroundResource(rowDr [3]);
    holder.bt5.setBackgroundResource(rowDr [4]);

    holder.textView.setTag(Integer.valueOf(位置));
    holder.textView.setOnClickListener(新OnClickListener(){

        公共无效的onClick(视图v){
            整数POS =(整数)v.getTag();
            意图ourIntent =新的意图(mContext,MyDay.class);
            ourIntent.putExtra(奶酪,mClasses [POS]);
            mContext.startActivity(ourIntent);
                       }
                       });
    holder.bt1.setOnClickListener(mListener);
    holder.bt2.setOnClickListener(mListener);
    holder.bt3.setOnClickListener(mListener);
    holder.bt4.setOnClickListener(mListener);
    holder.bt5.setOnClickListener(mListener);
    返回convertView;
                   }

静态类ViewHolder {
    的TextView TextView的;
    按钮BT1,BT2,BT3,BT4,BT5;

                     }

私人OnClickListener mListener =新OnClickListener(){

    公共无效的onClick(视图v){
        串夜= NULL;
        的for(int i = 0; I< ids.length;我++){
            如果(v.getId()== IDS [I]){
                晚上= MDATA [I]
                打破;
            }
        }
        意图I =新的意图(mContext,My_videos.class);
        i.putExtra(视频,夜间);
        mContext.startActivity(ⅰ);
                                   }
                                   };

                                }
 

My_videos类:

 公共类My_videos延伸活动{
私人VideoView VID;
串夜;
/ **第一次创建活动时调用。 * /
@覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.video);

    集束BDL = getIntent()getExtras()。
    晚上= bdl.getString(视频);
    VID =(VideoView)findViewById(R.id.videoView1);

    如果(night.equalsIgnoreCase(按钮1)){
    vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                +/+ R.raw.video_1));
        vid.setMediaController(新的MediaController(My_videos.this));
        vid.requestFocus();
        vid.start(); }

         否则,如果(night.equalsIgnoreCase(按钮2)){
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                +/+ R.raw.video_2));
         vid.setMediaController(新的MediaController(My_videos.this));
             vid.requestFocus();
             vid.start(); }

         否则,如果(night.equalsIgnoreCase(按钮3)){
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                +/+ R.raw.video_3));
         vid.setMediaController(新的MediaController(My_videos.this));
             vid.requestFocus();
             vid.start(); }
         否则如果(night.equalsIgnoreCase(将Button4)){
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                  +/+ R.raw.video_4));
         vid.setMediaController(新的MediaController(My_videos.this));
             vid.requestFocus();
             vid.start(); }
         否则如果(night.equalsIgnoreCase(button5)){
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                  +/+ R.raw.video_5));
         vid.setMediaController(新的MediaController(My_videos.this));
             vid.requestFocus();
             vid.start(); }

                        }}
 

更新:

我试图修改My_videos类如下code,但它以显示了同样的视频为每个按钮这是(video_5)。

 公共类My_videos延伸活动{
私人VideoView VID;
串夜;
私人诠释的位置;
/ **第一次创建活动时调用。 * /
@覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.video);

    集束BDL = getIntent()getExtras()。
    晚上= bdl.getString(视频);
    VID =(VideoView)findViewById(R.id.videoView1);


 如果(位置== 0){
        night.equalsIgnoreCase(按钮1); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                     +/+ R.raw.video_1));
        vid.setMediaController(新的MediaController(My_videos.this));
        vid.requestFocus();
        vid.start(); }
          如果(位置== 0){
       night.equalsIgnoreCase(按钮2); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                   +/+ R.raw.video_2));
        vid.setMediaController(新的MediaController(My_videos.this));
        vid.requestFocus();
        vid.start(); }}
          如果(位置== 0){
        night.equalsIgnoreCase(按钮3); {
       vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                       +/+ R.raw.video_3));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
     如果(位置== 0){
      night.equalsIgnoreCase(将Button4); {
         vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                     +/+ R.raw.video_4));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
      如果(位置== 0){
        night.equalsIgnoreCase(button5); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                    +/+ R.raw.video_5));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}

否则,如果(位置== 1){
       night.equalsIgnoreCase(按钮1); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                   +/+ R.raw.video_6));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
    如果(位置== 1){
         night.equalsIgnoreCase(按钮2); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                     +/+ R.raw.video_7));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
    如果(位置== 1){
        night.equalsIgnoreCase(按钮3); {
         vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                       +/+ R.raw.video_8));
              vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
    如果(位置== 1){
       night.equalsIgnoreCase(将Button4); {
         vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                     +/+ R.raw.video_9));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
    如果(位置== 1){
        night.equalsIgnoreCase(button5); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                   +/+ R.raw.video_10));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}


 否则,如果(位置== 2){
        night.equalsIgnoreCase(按钮1); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                       +/+ R.raw.video_11));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
    如果(位置== 2){
          night.equalsIgnoreCase(按钮2); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                 +/+ R.raw.video_12));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
    如果(位置== 2){
        night.equalsIgnoreCase(按钮3); {
         vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                      +/+ R.raw.video_13));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
    如果(位置== 2){
         night.equalsIgnoreCase(将Button4); {
         vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                     +/+ R.raw.video_14));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
     如果(位置== 2){
      night.equalsIgnoreCase(button5); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                     +/+ R.raw.video_15));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}

否则,如果(位置== 3){
      night.equalsIgnoreCase(按钮1); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                    +/+ R.raw.video_16));
         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
      如果(位置== 3){
         night.equalsIgnoreCase(按钮2); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                      +/+ R.raw.video_17));

               vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
      如果(位置== 3){
      night.equalsIgnoreCase(按钮3); {
         vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                 +/+ R.raw.video_18));

             vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
      如果(位置== 3){
      night.equalsIgnoreCase(将Button4); {
         vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                         +/+ R.raw.video_19));

         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
      如果(位置== 3){
      night.equalsIgnoreCase(button5); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                       +/+ R.raw.video_20));

         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}

 否则,如果(位置== 4){

    night.equalsIgnoreCase(按钮1); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                 +/+ R.raw.video_21));
     vid.setMediaController(新的MediaController(My_videos.this));
     vid.requestFocus();
     vid.start(); }}
    如果(位置== 4){

        night.equalsIgnoreCase(按钮2); {

    vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()+/
               + R.raw.video_22));


                   vid.setMediaController(新的MediaController(My_videos.this));
             vid.requestFocus();
         vid.start(); }}
  如果(位置== 4){

             night.equalsIgnoreCase(按钮3); {
         vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                    +/+ R.raw.video_23));
                vid.setMediaController(新的MediaController(My_videos.this));
          vid.requestFocus();
          vid.start(); }}
 如果(位置== 4){
       night.equalsIgnoreCase(将Button4); {

        vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                  +/+ R.raw.video_24));

         vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}

  如果(位置== 4){
      night.equalsIgnoreCase(button5); {
     vid.setVideoURI(Uri.parse(android.resource://+ getPackageName()
                +/+ R.raw.video_25));

           vid.setMediaController(新的MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
              }}
 

解决方案

目前链接的https://gist.github .COM / 3463215 我已经发布了一个版本 My_videos 类的,会做你想要的。基本上,在 MyArrayAdapter 类时,按钮点击你所发送的意图,其中该按钮被点击+确切按钮行被点击该行中。然后在 My_videos 类,你会得到这个数字,并很容易地找到在阵列数据结构的数组正确的视频。

i have a listactivity app , consist of 5 rows , each row cotain one TEXT and 5 BUTTON , both text and buttons are clickable , text will open MyDay activity whic is textview and when you click any button it must open videoview screen , its work fine as image below :

But my issue is :

i can assign five different videos to be opend by the 5 buttons in each row .

what im trying to have different video for each button so :

25 button open 25 different videos .

which i mean:

button (one) in first row will open video_1

button (two) in first row will open video_2

button (three) in first row will open video_3

button (four) in first row will open video_4

button (five) in first row will open video_5

button (one) in second row will open video_6

button (two) in second row will open video_7

and so on till last button in fifth row

i cant achieve that .

any advice will be appreciated

THANKS

MY CODE :

ListButtons Class :

 public class ListButtons extends ListActivity {
String classes[] = {"First",  "Second", "Third","Fourth", "Fifth" }; 

@Override
protected void onCreate(Bundle savedInstanceState) {
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setListAdapter(new MyArrayAdapter(this, classes));  }}

MyArrayAdapter Class :

 public class MyArrayAdapter extends ArrayAdapter<String> {

private final String[] mClasses;
private Context mContext;
private Typeface tf;
private LayoutInflater mInflater;
private String[] mData = { "button1", "button2", "button3", "button4",
        "button5" };
private int[] ids = { R.id.button1, R.id.button2, R.id.button3,
        R.id.button4, R.id.button5 };
int[][] rowDrawables = { 
        {R.drawable.row_1, R.drawable.row_2, R.drawable.row_3, 
             R.drawable.row_4, R.drawable.row_5},
        {R.drawable.row_6, R.drawable.row_7, R.drawable.row_8, 
             R.drawable.row_9, R.drawable.row_10},
        {R.drawable.row_11, R.drawable.row_12, R.drawable.row_13, 
             R.drawable.row_14, R.drawable.row_15},
        {R.drawable.row_16, R.drawable.row_17, R.drawable.row_18, 
             R.drawable.row_19, R.drawable.row_20},
        {R.drawable.row_21, R.drawable.row_22, R.drawable.row_23, 
             R.drawable.row_24, R.drawable.row_25}};

public MyArrayAdapter(Context context, String[] classes) {
    super(context, 0, classes);
    mClasses = classes;
    mContext = context;
    tf = Typeface.createFromAsset(context.getAssets(), "BFantezy.ttf");
    mInflater = LayoutInflater.from(context);
                              }

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.row, null, true);
        holder = new ViewHolder();
        holder.textView = (TextView) convertView
                .findViewById(R.id.row_label);
        holder.textView.setTypeface(tf);
        holder.bt1 = (Button) convertView.findViewById(R.id.button1);
        holder.bt2 = (Button) convertView.findViewById(R.id.button2);
        holder.bt3 = (Button) convertView.findViewById(R.id.button3);
        holder.bt4 = (Button) convertView.findViewById(R.id.button4);
        holder.bt5 = (Button) convertView.findViewById(R.id.button5);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    String s = mClasses[position];
    holder.textView.setText(s);

    int[] rowDr = rowDrawables[position];
    holder.bt1.setBackgroundResource(rowDr[0]);
    holder.bt2.setBackgroundResource(rowDr[1]);
    holder.bt3.setBackgroundResource(rowDr[2]);
    holder.bt4.setBackgroundResource(rowDr[3]);
    holder.bt5.setBackgroundResource(rowDr[4]);

    holder.textView.setTag(Integer.valueOf(position));
    holder.textView.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Integer pos = (Integer) v.getTag();
            Intent ourIntent = new Intent(mContext, MyDay.class);
            ourIntent.putExtra("cheese", mClasses[pos]);
            mContext.startActivity(ourIntent);
                       }
                       });
    holder.bt1.setOnClickListener(mListener);
    holder.bt2.setOnClickListener(mListener);
    holder.bt3.setOnClickListener(mListener);
    holder.bt4.setOnClickListener(mListener);
    holder.bt5.setOnClickListener(mListener);
    return convertView;
                   }

static class ViewHolder {
    TextView textView;
    Button bt1, bt2, bt3, bt4, bt5;

                     }

private OnClickListener mListener = new OnClickListener() {

    public void onClick(View v) {
        String night = null;
        for (int i = 0; i < ids.length; i++) {
            if (v.getId() == ids[i]) {
                night = mData[i];
                break;
            }
        }
        Intent i = new Intent(mContext, My_videos.class);
        i.putExtra("video", night);
        mContext.startActivity(i);
                                   }
                                   };

                                }

My_videos Class :

  public class My_videos extends Activity {  
private VideoView vid;  
String night;  
/** Called when the activity is first created. */  
@Override  
public void onCreate(Bundle savedInstanceState) {   
    super.onCreate(savedInstanceState);   
    setContentView(R.layout.video); 

    Bundle bdl = getIntent().getExtras(); 
    night = bdl.getString("video");   
    vid = (VideoView) findViewById(R.id.videoView1); 

    if (night.equalsIgnoreCase("button1")) {    
    vid.setVideoURI(Uri.parse("android.resource://" + getPackageName()
                + "/" + R.raw.video_1));
        vid.setMediaController(new MediaController(My_videos.this));  
        vid.requestFocus();    
        vid.start(); }  

         else if (night.equalsIgnoreCase("button2")) {   
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                + "/" + R.raw.video_2)); 
         vid.setMediaController(new MediaController(My_videos.this));
             vid.requestFocus(); 
             vid.start(); } 

         else if (night.equalsIgnoreCase("button3")) { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                + "/" + R.raw.video_3)); 
         vid.setMediaController(new MediaController(My_videos.this));
             vid.requestFocus();
             vid.start();         } 
         else if (night.equalsIgnoreCase("button4")) { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                  + "/" + R.raw.video_4)); 
         vid.setMediaController(new MediaController(My_videos.this)); 
             vid.requestFocus();     
             vid.start(); }         
         else if (night.equalsIgnoreCase("button5")) {   
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName()  
                  + "/" + R.raw.video_5)); 
         vid.setMediaController(new MediaController(My_videos.this));   
             vid.requestFocus();      
             vid.start(); }  

                        }}       

UPDATE:

I try to modify the My_videos Class As below code but it end with shows same video for every button which is ( video_5 ) .

  public class My_videos extends Activity {  
private VideoView vid;  
String night;
private int position;  
/** Called when the activity is first created. */  
@Override  
public void onCreate(Bundle savedInstanceState) {   
    super.onCreate(savedInstanceState);   
    setContentView(R.layout.video); 

    Bundle bdl = getIntent().getExtras(); 
    night = bdl.getString("video");   
    vid = (VideoView) findViewById(R.id.videoView1); 


 if(position == 0){ 
        night.equalsIgnoreCase("button1"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                     + "/" + R.raw.video_1));
        vid.setMediaController(new MediaController(My_videos.this));
        vid.requestFocus();
        vid.start(); }      
          if(position == 0){ 
       night.equalsIgnoreCase("button2"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                   + "/" + R.raw.video_2));
        vid.setMediaController(new MediaController(My_videos.this));
        vid.requestFocus();
        vid.start(); }  }            
          if(position == 0){ 
        night.equalsIgnoreCase("button3"); { 
       vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                       + "/" + R.raw.video_3));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }                
     if(position == 0){ 
      night.equalsIgnoreCase("button4"); { 
         vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                     + "/" + R.raw.video_4));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }                    
      if(position == 0){ 
        night.equalsIgnoreCase("button5"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                    + "/" + R.raw.video_5));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}

else if(position == 1){ 
       night.equalsIgnoreCase("button1"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName()  
                   + "/" + R.raw.video_6));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }   
    if(position == 1){ 
         night.equalsIgnoreCase("button2"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                     + "/" + R.raw.video_7));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }            
    if(position == 1){ 
        night.equalsIgnoreCase("button3"); { 
         vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                       + "/" + R.raw.video_8));
              vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }                
    if(position == 1){ 
       night.equalsIgnoreCase("button4"); { 
         vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                     + "/" + R.raw.video_9));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }                    
    if(position == 1){ 
        night.equalsIgnoreCase("button5"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                   + "/" + R.raw.video_10));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}


 else if(position == 2){ 
        night.equalsIgnoreCase("button1"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                       + "/" + R.raw.video_11));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }     }
    if(position == 2){ 
          night.equalsIgnoreCase("button2"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                 + "/" + R.raw.video_12));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }            
    if(position == 2){ 
        night.equalsIgnoreCase("button3"); { 
         vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                      + "/" + R.raw.video_13));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }     }            
    if(position == 2){ 
         night.equalsIgnoreCase("button4"); { 
         vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                     + "/" + R.raw.video_14));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }                    
     if(position == 2){ 
      night.equalsIgnoreCase("button5"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                     + "/" + R.raw.video_15));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}

else if(position == 3){ 
      night.equalsIgnoreCase("button1"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                    + "/" + R.raw.video_16));
         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }   
      if(position == 3){ 
         night.equalsIgnoreCase("button2"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                      + "/" + R.raw.video_17));

               vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }            
      if(position == 3){ 
      night.equalsIgnoreCase("button3"); { 
         vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                 + "/" + R.raw.video_18));

             vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }                
      if(position == 3){ 
      night.equalsIgnoreCase("button4"); { 
         vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                         + "/" + R.raw.video_19));  

         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }                
      if(position == 3){ 
      night.equalsIgnoreCase("button5"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                       + "/" + R.raw.video_20));    

         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}             

 else if(position == 4){ 

    night.equalsIgnoreCase("button1"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                 + "/" + R.raw.video_21));
     vid.setMediaController(new MediaController(My_videos.this));
     vid.requestFocus();
     vid.start(); } }   
    if(position == 4){  

        night.equalsIgnoreCase("button2"); { 

    vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" 
               + R.raw.video_22));


                   vid.setMediaController(new MediaController(My_videos.this));
             vid.requestFocus();
         vid.start(); } }            
  if(position == 4){    

             night.equalsIgnoreCase("button3"); { 
         vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                    + "/" + R.raw.video_23));
                vid.setMediaController(new MediaController(My_videos.this));
          vid.requestFocus();
          vid.start(); }    }                
 if(position ==4){  
       night.equalsIgnoreCase("button4"); { 

        vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                  + "/" + R.raw.video_24));

         vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); } }

  if(position == 4){    
      night.equalsIgnoreCase("button5"); { 
     vid.setVideoURI(Uri.parse("android.resource://" + getPackageName() 
                + "/" + R.raw.video_25));   

           vid.setMediaController(new MediaController(My_videos.this));
         vid.requestFocus();
         vid.start(); }}
              }}

解决方案

At this link https://gist.github.com/3463215 I've posted a version of My_videos class that will do what you want. Basically, in the MyArrayAdapter class when a Button is clicked you will send in the Intent the row where that Button was clicked + the exact Button that was clicked in that row. Then in the My_videos class you'll get this numbers and easily find the correct video in an array of arrays data structure.