Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OnActivityResult不工作(Android)_Android_Android Intent - Fatal编程技术网

OnActivityResult不工作(Android)

OnActivityResult不工作(Android),android,android-intent,Android,Android Intent,我在ActivityResult上使用了一个简单的函数,但它并没有返回我想要的结果 请查看我的代码并告诉我哪里做错了 public void OnClickFunction(View view) { Intent intent = new Intent(getApplicationContext(), Second.class); startActivityForResult(intent, RESULT_OK); /// My actions. . . }

我在ActivityResult上使用了一个简单的函数,但它并没有返回我想要的结果

请查看我的代码并告诉我哪里做错了

public void OnClickFunction(View view)
{
    Intent intent = new Intent(getApplicationContext(), Second.class);
    startActivityForResult(intent, RESULT_OK);

///     My actions. . . 
}    
然后在第二节课中,我设置了如下结果:

Button.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            ValueOne = EditText.getText().toString().trim();
            if (ValueOne.equals(String.valueOf(Answer)))
            {
                Toast.makeText(getApplicationContext(), "Correct Answer", 0).show();
                Second.this.setResult(RESULT_OK, null);
                Second.this.finish();
            }
            else
            {
                Toast.makeText(getApplicationContext(), "Wrong Answer", 0).show();
            }
        }
    });    
现在回到first.class,从那里调用了Intent:

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
//      if (requestCode == RESULT_OK)
//      {
        if (resultCode == RESULT_OK)
        {
                             /////  MyActions. . . 
        }
//      }
}    
调试器未调试此函数,因此无法获得所需的结果。
我哪里做错了??

在源代码类中:

int activity=1;
Intent i=new Intent(Sourceclass.this,destination.class);
startActivityForResult(i,activity);
public void onActivityResult(int requestCode, int resultCode, Intent data) 
 {
    if (resultCode == RESULT_OK) 
   {
                   if(requestCode==1)
            {
                Log.e("check","check");

            }
   }

}
目的地舱:

Intent i=new Intent();
      setResult(RESULT_OK,i);
    finish();
在源类的OnActivityResult中:

int activity=1;
Intent i=new Intent(Sourceclass.this,destination.class);
startActivityForResult(i,activity);
public void onActivityResult(int requestCode, int resultCode, Intent data) 
 {
    if (resultCode == RESULT_OK) 
   {
                   if(requestCode==1)
            {
                Log.e("check","check");

            }
   }

}

你必须摧毁第二个活动。试着按后退按钮。我能够在onActivityResult中查看所有日志消息

第一项活动

public class FirstActivity extends Activity {
/** Called when the activity is first created. */
int result = 100;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Intent i = new Intent(this,SecondActivity.class);
    startActivityForResult(i, result);
}
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
    Log.i("H", "RequestCode:" + requestCode);
    Log.i("H", "ResultCode:" + resultCode );
}
}
第二项活动

public class SecondActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    setResult(RESULT_OK);
    Log.i("S","Exiting Second Activity");
}
}

在我的例子中:使用activityForResult时,我添加了以下标志:

addFlags(标记活动新任务)


删除此标志时,已修复

您确定您的活动位于同一任务中吗?看一看:您确定if条件为真,并且显示正确的应答消息吗?您还可以使用setResult(RESULT_OK)代替setResult(RESULT_OK,null);Button.setOnClickListener???@Pratik。。是,显示正确答案。我也只使用了setResult(RESULT_OK),但同样的问题。@Ash。。。是的,两个活动具有相同的任务。@abhi。。是的,我根据你的回答编辑了我的代码,但问题仍然存在,你的活动扩展了“扩展AppCompatActivity”