У меня есть две кнопки в моей MainActivity, эти кнопки имеют OnLongClickListener, и они оба запускают другое действие под названием Pop.class. Так что все работает нормально. Я хочу отправить URL-адрес, соответствующий кнопке в следующем действии.Отправка URL-адресов между действиями
Так, когда пользователь нажимает кнопку в действии MainActivity, он прикладывает приложение к активности Pop, и при нажатии на кнопку в поп-активности он будет перенаправлен на видео YouTube в приложении YouTube. которые соответствуют URL-адресу, который был «объявлен» предыдущей кнопкой (здесь b26 или b27).
Проблема в том, что я не знаю, как сделать мою строку истинным URL-адресом для метода Uri.parse(). Также я использовал строку, потому что я хотел поместить другой URL-адрес в каждую кнопку.
Для этого я использовал putExtra и getExtra, но я не понимаю, почему строковый url не работает с кнопкой b27, поэтому я не изменял код b26. :(
Вот почему я прошу вас некоторую помощь
Это MainActivity активность:
Button b26 = (Button) findViewById(R.id.b26);
b26.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) {
if (SoundBuildingOnFiire.isPlaying()) {
SoundBuildingOnFiire.seekTo(0);
} else {SoundBuildingOnFiire.start();}}});
b26.setOnLongClickListener(
new Button.OnLongClickListener() {
public boolean onLongClick(View v) {
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(1000);
startActivity(new Intent(MainActivity.this, Pop.class));
return true;}});
Button b27 = (Button) findViewById(R.id.b27);
b27.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) {
if (SoundJackson.isPlaying()) {
SoundJackson.seekTo(0);
} else {SoundJackson.start();}}});
b27.setOnLongClickListener(
new Button.OnLongClickListener() {
public boolean onLongClick(View v) {
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(1000);
startActivity(new Intent(MainActivity.this, Pop.class));
getIntent().putExtra("SoundName", "https://www.youtube.com/");
return true;}});
}
Это Поп активность:
public class Pop extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popup);
final String SoundName = getIntent().getStringExtra("SoundName");
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int) (width * .8), (int) (height * .4));
TextView txtLabel = (TextView)findViewById(R.id.textView);
txtLabel.setText("En savoir plus sur ce Son");
Button button = (Button)findViewById(R.id.youtube);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent viewIntent =
new Intent("android.intent.action.VIEW",
Uri.parse(SoundName));
startActivity(viewIntent);
}
});
}
}
Спасибо за ваше время
Возможного дубликат [Как отправить объект из одного Android деятельности на другие, используя намерения?] (Http://stackoverflow.com/questions/2139134/how-to-send-an-object-from -он-андроид-активность-к-другому-используя-намерения) –