我正在使用mysql來檢索一個代碼到我的主要活動,它存儲爲一個字符串。這有效,但是當我嘗試將它傳遞給另一個活動時,它不會工作。我可能是錯的,但是我會像傳統的c#變量那樣通過它。如何在2個活動之間傳遞變量?
將變量(字符串,int)從一個活動傳遞給另一個的正確方法是什麼?
我正在使用mysql來檢索一個代碼到我的主要活動,它存儲爲一個字符串。這有效,但是當我嘗試將它傳遞給另一個活動時,它不會工作。我可能是錯的,但是我會像傳統的c#變量那樣通過它。如何在2個活動之間傳遞變量?
將變量(字符串,int)從一個活動傳遞給另一個的正確方法是什麼?
你做這種方式,同時通過:
var intent = new Intent (this, typeof(MyActivity));
intent.PutExtra("MyString", "This is a string");
intent.PutExtra("MyInt", 20);
StartActivity (intent);
在檢索:
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);
,並檢索從第二活動的數據:
string text = Intent.GetStringExtra ("MyData")
Bundle對象是一個選項太
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>