我有3個活動佈局。在第一個佈局中,我希望用戶輸入一個已顯示的數字(與captcha幾乎相同),並且也在第二個佈局中。接下來我想將結果傳遞給最後的佈局。如何在android中的不同文本視圖中傳遞數據意圖
這是我的代碼。
firstlayout:
EditText periksaAnsTxt = (EditText) findViewById(R.id.et);
int periksaAns = Integer.valueOf(periksaAnsTxt.getText().toString());
Intent hasilIntent = new Intent(this, Soal2.class);
int hasilBNormal;
int hasilBTotal;
if (periksaAns == 12){
hasilBNormal = 1;
hasilIntent.putExtra("hasilBNormal1",hasilBNormal);
}else {
hasilBTotal = 1;
hasilIntent.putExtra("hasilBTotal1", hasilBTotal);
}
startActivity(hasilIntent);
第二:
EditText periksaAnsTxt = (EditText) findViewById(R.id.et);
int periksaAns = Integer.valueOf(periksaAnsTxt.getText().toString());
Intent hasilIntent = new Intent(this, HasilActivity.class);
int hasilBNormal;
int hasilBMerahHijau;
int hasilBTotal;
if (periksaAns == 8){
hasilBNormal = 1;
hasilIntent.putExtra("hasilBNormal2",hasilBNormal);
}else if (periksaAns == 3){
hasilBMerahHijau = 1;
hasilIntent.putExtra("hasilBMerahHijau1", hasilBMerahHijau);
}else {
hasilBTotal = 1;
hasilIntent.putExtra("hasilTotal2", hasilBTotal);
}
startActivity(hasilIntent);
和其示出了結果的佈局是:
Intent hasilIntent = getIntent();
Integer hasilNormal1 = hasilIntent.getIntExtra("hasilBNormal1",1);
Integer hasilNormal2 = hasilIntent.getIntExtra("hasilBNormal2",1);
Integer hasilTotal1 = hasilIntent.getIntExtra("hasilBTotal1",1);
Integer hasilTotal2 = hasilIntent.getIntExtra("hasilBTotal2",1);
Integer hasilMerahHijau = hasilIntent.getIntExtra("hasilBMerahHijau1",1);
TextView hasilNormalView = (TextView) findViewById(R.id.txtNormal);
TextView hasilMerahHijauView = (TextView)findViewById(R.id.txtMerahHijau);
TextView hasilTotalView = (TextView) findViewById(R.id.txtTotal);
float bNormal = (hasilNormal1 + hasilNormal2)/2 *100;
String bNormalStr = String.valueOf(bNormal);
float bMerahHijau = hasilMerahHijau*100;
String bMerahHijauStr = String.valueOf(bMerahHijau);
float bTotal = (hasilTotal1 + hasilTotal2)/2*100;
String bTotalStr = String.valueOf(bTotal);
hasilNormalView.setText("Normal : " + bNormalStr + '%');
hasilMerahHijauView.setText("Buta Warna Merah + Hijau : " + bMerahHijauStr + '%');
hasilTotalView.setText("Buta Warna Total : " + bTotalStr + '%');
因此,如果他們在佈局1或8個輸入數字12佈局2,然後hasilBnormal是增加和其他不會增加(什麼都不做),但我在這裏的問題。如果hasilBNormal增加了其他人,請幫我解決這個問題。
這裏是第三佈局的xml:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/txtNormal"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="110dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/txtMerahHijau"
android:layout_below="@+id/txtNormal"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/txtTotal"
android:layout_below="@+id/txtMerahHijau"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
ü使用默認值設爲1,所有變量。如果沒有值,則1存儲在這些變量中。 – Harish
所以如果用戶提出正確答案,我該如何增加點數?例如,如果他們在佈局1中回答12,那麼hasilBnormal的點就是一點,但其他點不會。謝謝 – Melly