how to pass data intent in different textview in android -
i have 3 activities layouts. in first layout want user input number had displayed (almost same captcha) , in second layout too. next want pass result last layout.
here code.
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);
the second:
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);
and layout shows result :
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 + '%');
so if input number 12 in layout1 or 8 in layout 2, hasilbnormal increase , other not increase (do nothing), hv problem here. if hasilbnormal increase others, please me fix this.
here xml in third layout:
<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" />
i don't understand what's purpose of code, or semantics of variables, believe want set default value 0 on getintextras
integer hasilnormal1 = hasilintent.getintextra("hasilbnormal1", 0); integer hasilnormal2 = hasilintent.getintextra("hasilbnormal2", 0); ...
also, seems losing contents of first intent on second activity.
in second activity should copy contents of first intent second intent:
hasilintent.putextra("hasilbnormal1", getintent().getintextra("hasilbnormal1", 0)); hasilintent.putextra("hasilbtotal1", getintent().getintextra("hasilbtotal1", 0));
Comments
Post a Comment