Android 单击按钮后如何更改Videoview URL的字符串变量的值?
我想在同一视频视图中播放多个视频 单击按钮时,在线视频将在其他布局的videoview中播放 例如: “布局1”中有三个按钮 单击任何按钮后,转到“布局2” “布局2”中有一个视频视图 每个人的操作点击按钮是在VideoView中更改字符串值“VideoURl” 问题是:当您单击布局1中的任何按钮时,如何更改布局2中字符串变量的值?!!] 准则活动2: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
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");