Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

resultCode 0 and data zero in onActivityResult

I have activity with one fragment, and then that fragment call some activity which that activity will give some value into first activity. i use onActivityResult but i don't know why resultCode always 0 and data always zero,.

on Activity One i have

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Log.d(TAG, "onActivityResult: "+ requestCode +" "+resultCode+" "+data);

}

Activity one have some fragmentX which call activity two

private final int REQUEST_CODE = 10;
private void start (){
    Intent intent = new Intent(getContext(),Main2Activity.class);
        intent.putExtra("xxx","test1");
        getActivity().startActivityForResult(intent,REQUEST_CODE);
}

then in Activity Two, when i touch onBackpress, will pass some value.

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        Intent intent = getIntent().putExtra("yyy","test2");
        setResult(RESULT_OK,intent);
    }
}

but, i don't know why, onActivityResult i can't get the data. my final purpose is, i want to setArgument that data to fragmentX.

like image 360
Frendi Avatar asked Jun 30 '26 21:06

Frendi


1 Answers

1.You can call onActivityResult in the fragment

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Log.d(TAG, "onActivityResult: "+ requestCode +" "+resultCode+" "+data);

}

2.Use super.onBackPressed(); after setResult in your method

@Override
public void onBackPressed() {

    Intent intent = getIntent().putExtra("yyy","test2");
    setResult(RESULT_OK,intent);
    super.onBackPressed();
}
like image 91
KeLiuyue Avatar answered Jul 06 '26 11:07

KeLiuyue



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!