Android 单击按钮后如何更改Videoview URL的字符串变量的值?

Android 单击按钮后如何更改Videoview URL的字符串变量的值?,android,string,button,android-activity,android-videoview,Android,String,Button,Android Activity,Android Videoview,我想在同一视频视图中播放多个视频 单击按钮时,在线视频将在其他布局的videoview中播放 例如: “布局1”中有三个按钮 单击任何按钮后,转到“布局2” “布局2”中有一个视频视图 每个人的操作点击按钮是在VideoView中更改字符串值“VideoURl” 问题是:当您单击布局1中的任何按钮时,如何更改布局2中字符串变量的值?!!] 准则活动2: public class Main2Activity extends Activity { private ProgressDialog p

我想在同一视频视图中播放多个视频 单击按钮时,在线视频将在其他布局的videoview中播放 例如:

“布局1”中有三个按钮 单击任何按钮后,转到“布局2” “布局2”中有一个视频视图 每个人的操作点击按钮是在VideoView中更改字符串值“VideoURl”

问题是:当您单击布局1中的任何按钮时,如何更改布局2中字符串变量的值?!!]

准则活动2:

public class Main2Activity extends Activity {

private ProgressDialog pDialog;

VideoView videoview;

@Override

protected void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

   setContentView(R.layout.activity_main);

   videoview = (VideoView) findViewById(R.id.VideoView);

   new StreamVideo().execute();


   }


   private class StreamVideo extends AsyncTask {

   @Override
   protected void onPreExecute() {

       super.onPreExecute();
       pDialog = new ProgressDialog(Main2Activity.this);
       pDialog.setTitle("Android Video Streaming Tutorial");
       pDialog.setMessage("Buffering...");
       pDialog.setIndeterminate(false);
       pDialog.show();

   }

   @Override
   protected Void doInBackground(Void... params) {
       // TODO Auto-generated method stub
       return null;
   }

   @Override
   protected void onPostExecute(Void args) {

       try {
           // Start the MediaController
           MediaController mediacontroller = new MediaController(
                   Main2Activity.this);
           mediacontroller.setAnchorView(videoview);
           // Get the URL from String VideoURL
           Uri video = Uri.parse(VideoURL);
           videoview.setMediaController(mediacontroller);
           videoview.setVideoURI(video);

           videoview.requestFocus();
           videoview.setOnPreparedListener(new OnPreparedListener() {
               // Close the progress bar and play the video
               public void onPrepared(MediaPlayer mp) {
                   pDialog.dismiss();
                   videoview.start();
               }
           });
       } catch (Exception e) {
           pDialog.dismiss();
           Log.e("Error", e.getMessage());
           e.printStackTrace();
       }

   }

   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
   getMenuInflater().inflate(R.menu.main, menu);
   return true;
   }

}

您可以使用intent在两个活动之间传递数据

Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
intent.putExtra("EXTRA_SESSION_ID", sessionId);

startActivity(intent)
以及从活动中获取数据1

String Url = getIntent().getExtras().getString("yourKey");

为什么要使用一个
AsyncTask
,它在
doInBackground(…)
方法中什么都不做?在回答您的问题时,根据按下的按钮,更改从
Intent
extra中的
Activity
1传递的URL。
String Url = getIntent().getExtras().getString("yourKey");