java - Can't implement getIntent(); method in Fragment -
i try implement getintent();
in fragment , display text cannot resolve method 'getintent()'
here part of fragment3.java
public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // inflate layout fragment return inflater.inflate(r.layout.fragment_3, container, false); textview textviewdisplayresult = (textview) getview().findviewbyid(r.id.text_view_display_result); textviewdisplayresult.settext(getintent().getbooleanextra("key_answer", false)?r.string.good_answer:r.string.wrong_answer);
here xml textview displaying text
<textview android:id="@+id/text_view_display_result" android:layout_width="match_parent" android:layout_height="wrap_content" android:textappearance="?android:attr/textappearancelarge"/>
and part of mainactivity regarding matter
final intent intent = new intent(mainactivity.this, fragment3.class); buttoncheckanswer.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { if (checkanswers()) intent.putextra("key answer", true); else intent.putextra("key answer", false); startactivity(intent); } });
and here whole fragment3
package make.appaplication; import android.content.intent; import android.os.bundle; import android.support.v4.app.fragment; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.textview; /** * simple {@link fragment} subclass. */ public class fragment41 extends fragment { public fragment41() { // required empty public constructor } @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // inflate layout fragment return inflater.inflate(r.layout.fragment_3, container, false); textview textviewdisplayresult = (textview) getview().findviewbyid(r.id.text_view_display_result); textviewdisplayresult.settext(getactivity().getintent().getbooleanextra("key_answer", false)?r.string.good_answer:r.string.wrong_answer); } }
you can use:
getactivity().getintent();
or can pass data fragment directly using arguments:
bundle args = new bundle(); args.putboolean("key answer", true); fragment f = new yourfragment(); f.setarguments(args);
make sure set arguments before fragment added fragmentmanager.
Comments
Post a Comment