2017-11-12 5 views
-4

:あなたは公共の静的variable.but静的変数をされて使用することができます。3種類のアクティビティ変数を別の新しいアクティビティに使用するにはどうすればよいですか?たとえば

int a=5; //in MainActivity.java 
int b=7 //in MainActivity2.java 
int c=8 //in MainActivity3.java 

、別の活動では、これらの三つの変数すなわち

int total= a+b+c //in MainActivity4.java 
+0

なぜこれをやりたいですか? –

+0

私のコード@AbdulWaheed –

+0

にある私の要求に従って、インテントをインテントに渡してインテントでこれらの変数を渡し、それらを他のアクティビティに渡すことができます –

答えて

-1

あなたのコードで述べたように、あなたがコード

Intent intent = new Intent(this, yourRequiredActivity.class) 
intent .putExtra("firstVariable", a); 
intent .putExtra("secondVariable", b); 
intent .putExtra("thirdVariable", c); 
startActivity(myIntent); 

の下に使用しなければならない活動を開始するには

int a=5; //in MainActivity.java 
int b=7 //in MainActivity2.java 
int c=8 //in MainActivity3.java 

を使用していて、新しいアクティビティコード

Intent mIntent = getIntent(); 
int a= mIntent.getIntExtra("firstVariable", 0); 
int b= mIntent.getIntExtra("secondVariable", 0); 
int c= mIntent.getIntExtra("thirdVariable", 0); 

の下に使用開始したときそして、あなたの操作のために以下のコードを使用することができます

int total= a+b+c 

あなたの質問にお答えします。

+0

これは最良の答えです。また、SharedPreferencesもオプションに含めることができます。 –

+0

これはおそらくこれまでのところ最高の答えですが、これも維持することは非常に難しいです。インテントやアクティビティの外にあるデータをメモリに保存することをお勧めします。 SharedPreferencesも有効です。 – spierce7

+0

誰がこの回答をdownvotingですか?私の答えを更新できる理由を述べてください。 –

-2

ただ、これらの変数の静

+2

を計算@ –

+0

で作る総法案 –

+0

これは、メンテナンス可能なコードの記述方法です。 – spierce7

-1

方法1を作りますメモリーリーク。

public static int a=5; //in MainActivity.java 
public static int b=7 //in MainActivity2.java 
public static int c=8 //in MainActivity3.java 


int total= a+b+c //in MainActivity4.java 


方法2:他の方法は、共有の嗜好およびMainActivity4.javaの存在負荷及び使用中、B、Cを保存します。

+0

どのような共有設定ですか?それをどうすればできますか? –

+0

このリンク、https:// stackoverflowを参照してください。com/a/23024962/4797289 –

+0

"静的変数はメモリリークです"、それは誤解を招きます。それはメモリをリークするために使用できますが、必ずしもメモリリークであるとは限りません。 – spierce7

-1

これらの変数をstaticにするだけで、MainActivity4からアクセスできます。これらの変数をprivateにして書き込み禁止にしたい場合は、静的ゲッターメソッドを使用してください。

関連する問題