2

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

 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_OK && requestCode==1){时,它会在完成后打印结果,所以我知道哪里出了问题,现在是为什么问题:p

编辑2:

requestCode 确实打印“1”,这很好。但是,resultCode 打印“0”,不好。

编辑 3:

找到了答案,也许对其他人也有用。
按下保存后,我使用(手机的)后退按钮返回应用程序,但结果代码为“0”。

4

1 回答 1

4

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

有关更多信息,请参阅文档


编辑: RESULT_OK是标准结果代码,但活动可以自由返回大于或等于的其他值RESULT_FIRST_USER。零是RESULT_CANCELED,这通常发生在有人敲击“后退”按钮时。

于 2012-05-31T12:22:07.777 回答