Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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
Java 在意图完成后调用函数_Java_Android_Android Intent - Fatal编程技术网

Java 在意图完成后调用函数

Java 在意图完成后调用函数,java,android,android-intent,Java,Android,Android Intent,我认为这是一个简单的问题,但找不到答案。 我得到了一段代码: public void onButtonClick(View v) { Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); File file = new File(root + "/Doppen/"+ "doppen.txt"); intent.setDataAndType(Uri.

我认为这是一个简单的问题,但找不到答案。 我得到了一段代码:

 public void onButtonClick(View v) {

    Intent intent = new Intent();
    intent.setAction(android.content.Intent.ACTION_VIEW);
    File file = new File(root + "/Doppen/"+ "doppen.txt");
    intent.setDataAndType(Uri.fromFile(file), "text/*");
    startActivityForResult(intent, 1);                   
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, getIntent());
    if(resultCode==RESULT_OK && requestCode==1){
        System.out.println("RESULT :D");
    }
}
你知道这里怎么了吗

我打开一个文本文件,但在用户点击“保存”后,我想调用另一个函数。 如何自动执行此操作?
那么,如何检查用户何时点击“保存”或意图何时完成

编辑1: 我发现了一个问题: 当我注释
if(resultCode==RESULT\u OK&&requestCode==1){
时,它会在完成后打印结果,所以我知道它哪里出错了,现在问题是为什么:p

编辑2:

requestCode不会打印“1”,所以这很好。但是resultCode打印“0”,这不好

编辑3:

找到了答案,可能对其他人也有用。

按下Save后,我使用手机的back按钮返回应用程序,但结果代码为“0”。

调用
startActivityForResult()
而不是
startActivity()
。当活动完成时,您将收到对活动的
onActivityResult()的回调
方法,您可以在其中执行所需操作

有关更多信息,请参阅



编辑:
RESULT\u OK
是一个标准的结果代码,但是活动可以自由返回大于或等于
RESULT\u FIRST\u USER
的其他值。零是
RESULT\u cancelled
,通常在有人按下后退按钮时发生。

调用
startActivityForResult()
而不是
startActivity())
。活动完成后,您将得到一个对活动的
onActivityResult()
方法的回调,您可以在其中执行所需操作

有关更多信息,请参阅



编辑:
RESULT\u OK
是一个标准的结果代码,但是活动可以自由返回大于或等于
RESULT\u FIRST\u USER
的其他值。零是
RESULT\u cancelled
,这通常发生在有人按下后退按钮时。

你能再次检查我的问题吗(稍微更改一下),我尝试了这个方法(也使用了互联网示例)但我似乎无法使其工作:(你能再次检查我的问题吗(稍微更改一下),我尝试了这个(也使用了互联网示例),但似乎无法使其工作:(尝试在ActivityResult上的
之前添加“@Override”
@jmhend谢谢你的回答,但没有工作尝试添加“@Override”在onActivityResult之前@jmhend感谢您的回复,但没有起作用