2016-09-20 3 views
-2

私は2つのクラスを持っています。私は2つのボタンと2つのstring.twoボタンが同じクラスを開始します。ユーザーが最初のボタンを押すと、最初の文字列を2番目のクラスの文字列に送信します。他の文字列を選択した場合、2番目の文字列を送信したい。アンドロイドは2つの文字列変数の1つを別のクラスの1つの文字列に割り当てます

Intent i = new Intent(this, Second.class); 
i.putExtra("url", sendedUrl); 
startActivity(i); 

次に、このようなあなたの新しい活動からそれを抽出します:あなたは余分なようにそれを渡す必要があり

メインクラス

public String sendedUrl; 
String url = "xxx"; 
String url2="yyy"; 

    imageViews[0].setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      sendedUrl=url; 
      Intent intent = new Intent(getApplicationContext(),Second.class); 
      startActivity(intent); 
      finish(); 
     } 
    }); 
    imageViews[1].setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      sendedUrl = url2; 
      Intent intent = new Intent(getApplicationContext(),Second.class); 
      startActivity(intent); 
      finish(); 
     } 
    }); 

第二のクラス

MainActivity main = new MainActivity(); 
String Url; 
Url = main.sendedUrl; 
+0

あなたが直面しているエラーは何ですか? – PriyankaChauhan

+2

[Androidでのアクティビティ間でデータをやり取りするにはどうすればいいですか?](http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-on-android) – lubilis

+0

検索してくださいので、新しい質問を投稿する前に:) –

答えて

1

Intent intent = getIntent(); 
String url= intent.getExtras().getString("url"); 
0

あなたが好き渡す値にBundleを使用する必要があります。メインとセカンドクラスが活動している場合uはURLの意図を渡すことができ

Bundle extras = intent.getExtras(); 
String url= extras.getString("strUrl"); 
0

OnCreate()でのごSecond Activityインサイド

imageViews[0].setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      sendedUrl=url; 
      Intent intent = new Intent(getApplicationContext(),Second.class); 
      intent.putExtra("strUrl", url); 
      startActivity(intent); 
      finish(); 
     } 
    }); 
    imageViews[1].setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      sendedUrl = url2; 
      Intent intent = new Intent(getApplicationContext(),Second.class); 
      intent.putExtra("strUrl", url2); 
      startActivity(intent); 
      finish(); 
     } 
    }); 

。あなたはクラスのインスタンスを作成するときに、あなたがその特定のメンバーに任意の値を割り当てていない場合は、このクラスのメンバーはnullに設定されている例えば

Intent intent=new Intent(this,Second.class); 
intent.putExtra("URL",url)//url2 on 2nd button click 
startActivity(intent); 
finish(); 

及び第二のアクティビティでURLを取得

Intent intent=getIntent(); 
String URL=intent.getStringExtra("URL"); 
2

そのクラス。

あなたはこのメンバーstaticを作ることができるか、他の活動には、このメンバーを渡すために

intent.putExtra("StringName"); 

を使用することができます。

関連する問題