【发布时间】:2015-11-24 09:08:59
【问题描述】:
我在 recyelerview.viewholder 类的 onClick() 方法中尝试如下。
示例中使用的 SampleDialogFragment 扩展了 DialogFragment。
@Override
public void onClick(View v)
{
SampleDialogFragment df= new SampleDialogFragment();
df.show(v.getContext().getSupportFragmentManager(), "Dialog");
}
我在v.getContext().getSupportFragmentManager() 遇到问题。我无法调用 getSupportFragmentManager()。
我也试过如下。
@Override
public void onClick(View v)
{
SampleDialogFragment df= new SampleDialogFragment();
SampleActivity activity = new SampleActivity();
df.show(activity.getSupportFragmentManager(), "Dialog");
}
SampleActivity 是附加回收器视图的活动。它显示没有错误。当我运行应用程序并崩溃时。
日志显示活动已破坏。
有什么办法吗?
【问题讨论】:
-
通过适配器的构造函数传入
Context,并使用它来获取FragmentManger 实例。或者使用回调方法监听 SampleActivity 中的点击事件。不要创建new SampleActivity() -
getActivity().getSupportFragmentManager()如果你有片段 -
@Boss 我试过了。我无法使用 recyclerview.viewholder 中的上下文调用 getSupportFragmentManager。
-
@kishorejethava 我试过了,没用
-
我可以使用我传递给这个类的上下文来烤面包。但是,getsupportFragmentManager 不起作用
标签: android android-recyclerview android-dialogfragment dialogfragment