私はmysqlを使ってメインアクティビティにコードを取得しています。メインアクティビティは文字列として格納されています。これは動作しますが、別のアクティビティに渡そうとすると動作しません。私は間違っているかもしれませんが、通常のC#変数と同じように渡しています。2つのアクティビティ間で変数を渡すにはどうすればよいですか?
変数(文字列、int)をあるアクティビティから別のアクティビティに渡す正しい方法は何ですか? Xamarin docsから
私はmysqlを使ってメインアクティビティにコードを取得しています。メインアクティビティは文字列として格納されています。これは動作しますが、別のアクティビティに渡そうとすると動作しません。私は間違っているかもしれませんが、通常のC#変数と同じように渡しています。2つのアクティビティ間で変数を渡すにはどうすればよいですか?
変数(文字列、int)をあるアクティビティから別のアクティビティに渡す正しい方法は何ですか? Xamarin docsから
あなたは、このようにそれを行います:
string text = Intent.GetStringExtra ("MyString");
//you get
//This is a string
int number = Intent.GetIntExtra ("MyInt");
//you get
//20
:
var activity2 = new Intent (this, typeof(Activity2));
activity2.PutExtra ("MyData", "Data from Activity1");
StartActivity (activity2);
と第二の活動からデータを取得する:
var intent = new Intent (this, typeof(MyActivity));
intent.PutExtra("MyString", "This is a string");
intent.PutExtra("MyInt", 20);
StartActivity (intent);
を取得中:通過する間
string text = Intent.GetStringExtra ("MyData")
バンドルオブジェクトが
public class NextActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
Bundle intentBundle = getIntent().getExtras();
String strResult = intentBundle.getString("strA");
}
}
あまりにもオプションであるFirstClass.java
Intent intent = new Intent (FirstClass.this, SecondClass.class);
intent.putExtra("StringData", "Stringvalue");
intent.putExtra("intData", 10);
startActivity(intent);
finish(); // this line is optional. If you want to destroy FirstClass, add this line.
SecondClass.java
のonCreateメソッド内でこの行を追加します。
Intent i = getIntent();
if(i != null){
String StringData = i.getStringExtra("name");
int intData = i.getIntExtra("intData", 0); // second parameter is the default value. if unable to get the value of "intData", default value will parse.
}
マニフェストファイル
マニフェストファイルにこれらの行を追加します。
<activity android:name=".FirstClass">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondClass">
</activity>