私はすでに保留中のインテントを使用しています.別のインテントを使用してそのインテントを開始すると、新しいアクティビティに移動します..それを避けたい..インテントを使用せずに、あるアクティビティから別のアクティビティにデータを渡したいですか?
18092 次
4 に答える
11
静的メソッドを使用して、あるアクティビティから別のアクティビティにデータを取得できます。以下はサンプル コードです。
最初の活動
public class First extends Activity {
static First INSTANCE;
String data="FirstActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
INSTANCE=this;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public static First getActivityInstance()
{
return INSTANCE;
}
public String getData()
{
return this.data;
}
}
2 番目のアクティビティ:
public class Second extends Activity {
String data;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
data=First.getActivityInstance().getData();
Toast.makeText(Second.this,"Data from first activity is"+data, 1).show();
}
}
お役に立てば幸いです。
于 2013-03-29T06:23:33.297 に答える
1
以下に示すように、グローバル変数クラスを設定してから、Activity1 に設定し、Activity2 でアクセスしてみてはどうでしょうか。
グローバル変数クラス ファイル: Global.java
package <your packagename>;
public class Global {
public static String stringToPass = "";
}
ファイルにグローバル変数を設定します: Activity1.java
Global.stringToPass = "your string value to pass";
startActivity(new Intent(Activity1.this, Activity2.class));
ファイル内のグローバル変数を読み取ります: Activity2.java
String gotString = "Global.stringToPass;
メモリリークに注意してください。
于 2013-03-29T05:39:44.747 に答える
0
グローバル クラス Application を使用して、送信するデータを共有できます。使う前にデータを設定するだけ!
于 2013-04-10T05:52:34.857 に答える