在我的应用程序中,我有users.path(selectedUserOption.value)
(说Fragment
),其中包含ParentFragment
我正在使用GridLayout
使用{{}显示网格中的UI项目{1}}和GridLayoutManager
类。此ViewHolder
有2行4列。每个网格单元的数据存储在RecyclerAdapter
类中,该类具有两个变量GridLayout
和DataContentInformation
类。
在此DataHeader
用户界面下方,我有另一个DetailedInformation
(说GridLayout
)组件,该组件应根据Fragment
中的选项进行更新。 DetailedFragment
单元格中会显示GridLayout
,DataHeader
内会显示GridLayout
。
如何传递DetailedInformation
内的网格项单击事件以更新DetailedFragment
?
提前致谢,
IamHuM
答案 0 :(得分:1)
按照以下步骤,根据您自己的要求更改参数和代码。我只是给出了执行任务的步骤:
第1步:
在您的RecyclerView适配器中, 将构造函数更改为类似的内容并传递片段:
public TestAdapter(Context context,ParentFragment parentFragment)
{
this.context=context;
this.parentFragment=parentFragment;
}
第2步: 将以下代码添加到Recycler View的onBindViewHolder()方法
@Override
public void onBindViewHolder(TestHolder holder, final int position) {
//Add other code here
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((MainActivity)parentFragment.getActivity()).yourMethod();
}
}
});
}
第3步: 在您的主活动中,您可以添加代码以更新详细的详细内容,如下所示:
public void yourMethod()
{
Fragment reference = null;
List<Fragment> fragmentList =getSupportFragmentManager().getFragments();
for (int i = 0; i < fragmentList.size(); i++) {
reference = fragmentList.get(i);
if (reference != null && reference instanceof DetailedFragment) {
((DetailedFragment) reference).methodToUpdateDetailedFragment();
}
}}
}
第4步: 将方法更新为详细片段的UI,
public void methodToUpdateDetailedFragment()
{
//Write your code to update UI here
}
答案 1 :(得分:0)
此example与您所描述的非常相似。希望它有所帮助