我认为这是一个简单的问题,但无法找到答案。 我收到了这段代码:
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:
找到答案,也许对其他人有用 按下Save后,我使用(手机的)后退按钮返回应用程序,但这会给出一个“0”的resultCode。
答案 0 :(得分:3)
致电startActivityForResult()
而非startActivity()
。活动完成后,您将收到活动onActivityResult()
方法的回调,您可以在此处执行所需操作。
有关详细信息,请参阅the documentation。
编辑:RESULT_OK
是标准结果代码,但活动可以自由返回大于或等于RESULT_FIRST_USER
的其他值。零是RESULT_CANCELED
,通常在有人敲回“后退”按钮时发生。