Ich habe zwei Schaltflächen in meiner MainActivity, diese Schaltflächen haben OnLongClickListener, und beide starten eine andere Aktivität namens Pop.class. Also alles funktioniert gut. Ich möchte eine URL senden, die der Schaltfläche in der nächsten Aktivität entspricht.Senden von URLs zwischen Aktivitäten
So wie dies, wenn der Benutzer die Schaltfläche in der MainActivity-Aktivität drücken, wird er durch die Anwendung auf die Pop-Aktivität gebracht und wenn er auf die Schaltfläche in der Pop-Aktivität klickt, wird er zu einem YouTube-Video in der YouTube App umgeleitet das entspricht der URL, die durch den vorherigen Button "deklariert" wurde (hier b26 oder b27).
Das Problem ist, dass ich nicht weiß, wie ich meine Zeichenfolge eine echte URL für die Uri.parse() -Methode machen. Auch ich habe eine Zeichenfolge verwendet, weil ich verschiedene URLs in jede Schaltfläche einfügen wollte.
Dafür habe ich putExtra und getExtra verwendet, aber ich verstehe nicht, warum string URL funktioniert nicht mit der b27-Taste, so dass ich den b26-Code nicht geändert habe. :(
Aus diesem Grund frag ich dich etwas Hilfe
Dies ist die MainActivity Aktivität:
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;}});
}
Dies ist die Pop Aktivität:
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);
}
});
}
}
Vielen Dank für Ihre Zeit
Mögliches Duplikat [Wie ein Objekt von einer Android-Aktivität auf ein anderes mit Intents schicken?] (Http://stackoverflow.com/questions/2139134/how-to-send-an-object-from -eine-androiden-Aktivität-zu-einer-anderen-Nutzung-Intents) –