【发布时间】:2018-11-11 12:11:19
【问题描述】:
我知道有几个相关的主题,但我都试过了,但没有任何反应。我有一个“MainActivity”类,其中包含一个名为“HomeFragment”的片段,该片段包含一个带有两个片段的 viewPager,其中一个片段称为“ListFragment”。通过设置一个名为“ListAdapter”的适配器,每个项目的 onClick 方法都可以正常工作,问题出在我设置时:
intentRequestDetails.putExtra(KEY_POSITION, position);
intentRequestDetails.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
((Activity) context).startActivityForResult(intentRequestDetails, 2);
到适配器中的onItemClick, 我不知道如何在“ListFragment”中获得结果。 我将“getActivity()”传递给适配器和 ListFragment,但它们都不起作用! 请帮助我在“ListFragment”中获得结果
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 2) {
if (resultCode == Activity.RESULT_OK) {
int position = data.getIntExtra("position", -1);
userRequestsViewModel.getResult().remove(position);
viewHolder.rView.getAdapter().notifyItemRemoved(position);
viewHolder.rView.getAdapter().notifyItemRangeChanged(position, viewHolder.rView.getAdapter().getItemCount());
} else if (resultCode == Activity.RESULT_CANCELED) {
//Write your code if there's no result
}
}
我需要什么 是什么从片段传递到适配器作为上下文?在哪里以及如何覆盖 onActivityResult 以及我是否还有其他遗漏?
- ListFragment 中的 onActivityResult 未触发,因为正在从 ListAdapter 调用 startActivityForResult!我该如何处理?
- 如果有机会更新列表,如何在 MainActivity 中获取适配器和 ListFragment?
【问题讨论】:
-
如果您在 Activity 中重写了方法
onActivityResult,请确保您没有错过对super.onActivityResult的调用 -
不,当我再次尝试时没有任何反应
标签: android android-fragments android-adapter startactivityforresult