我有一个ListView
,通过单击ListView的一个项目,我将其称为存储访问框架(SAF)。
就在开始SAF之前,我想像这样传递ListView
的位置:
intent.putExtra("Position", position);
startActivityForResult(intent, WRITE_REQUEST_CODE);
但是如何通过onActivityResult()
方法重新获得位置,以便知道单击了哪个项目?
我尝试了以下几行,但没有成功:
Bundle extras = resultData.getExtras();
Integer i = getIntent().getIntExtra("routeDataPosition", 42);
Integer i2 = resultData.getIntExtra("routeDataPosition", 42);
答案 0 :(得分:1)
就在启动SAF之前,我想像这样传递ListView的位置:
那是行不通的。您不能将额外功能强加到另一个应用程序中,也不能强制另一个应用程序退还这些额外功能。
但是如何在onActivityResult()方法中重新获得位置,以便知道单击了哪个项目?
您可以将其存储在活动,片段或视图模型的字段中。
如果要详细说明,可以根据职位使用其他请求代码。因此,使用WRITE_REQUEST_CODE
代替WRITE_REQUEST_CODE + position
。您需要在onActivityResult()
中拥有聪明才智,才能从结果代码(例如position = resultCode - WRITE_REQUEST_CODE
)中重新获得排名。