Cannot get Data from the intent - Android

前端 未结 1 1127
故里飘歌
故里飘歌 2021-01-23 23:26

I am a beginner and I am trying to make an Intent Calculator, means I am add the inputs through Intent extras and starting a new activity for calculating the input. Finally I am

1条回答
  •  一向
    一向 (楼主)
    2021-01-24 00:01

    d is your Intent variable in onActivityResult() so try changing

        @Override
    protected void onActivityResult(int reqCode, int resCode, Intent d){
        super.onActivityResult(reqCode, resCode, d);
        TextView result = (TextView) findViewById(R.id.result);
        if(reqCode == CALCULATION_COMPLETE && resCode == RESULT_OK){
    
            Intent resultData = getIntent();
    
            Intent calcIntent = getIntent();
    

    to

    @Override
    protected void onActivityResult(int reqCode, int resCode, Intent d){
        super.onActivityResult(reqCode, resCode, d);
        TextView result = (TextView) findViewById(R.id.result);
        if(reqCode == CALCULATION_COMPLETE && resCode == RESULT_OK){
    
            Intent resultData = d;  //This line here
    

    If this doesn't fix your problem then please be a little more clear on what is/isn't happening.

    Also, I agree with Monad's comment. While it shouldn't be causing a problem it does seem a little strange to do all of this on onCreate() and you may be a little better off with a Button or some user input. Otherwise, there really is no need for a separate Activity but you could use a function to do the calculation in the first Activity.

    Edit

    From the Docs

    Return the intent that started this activity.

    so this won't return the Intent passed from the second Activity in setResult(). It will return an Intent that started this Activity that you would use in onCreate() possibly. In this situation, the Activity isn't being started but brought back to the top of the stack when the second Activity is finished and setResult() is called.

    0 讨论(0)
提交回复
热议问题