Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 不';在RecyclerView中的ViewHolder上不显示getSupportFragmentManager_Android_Android Fragments_Android Recyclerview_Fragment - Fatal编程技术网

Android 不';在RecyclerView中的ViewHolder上不显示getSupportFragmentManager

Android 不';在RecyclerView中的ViewHolder上不显示getSupportFragmentManager,android,android-fragments,android-recyclerview,fragment,Android,Android Fragments,Android Recyclerview,Fragment,在ViewHolder中,我无法调用getSupportFragmentManager 我想在片段之间切换 我搜索了所有的谷歌页面。但是我找不到它 公共静态类ViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener{ 公共图像视图imgthumbail;//img 公共文本视图;//文本 公共视图持有者(视图项视图){ 超级(项目视图); imgThumbnail=(ImageView)itemView.findViewById(R.

ViewHolder
中,我无法调用
getSupportFragmentManager

我想在片段之间切换

我搜索了所有的谷歌页面。但是我找不到它

公共静态类ViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener{
公共图像视图imgthumbail;//img
公共文本视图;//文本
公共视图持有者(视图项视图){
超级(项目视图);
imgThumbnail=(ImageView)itemView.findViewById(R.id.img_缩略图);
tvspecies=(TextView)itemView.findViewById(R.id.tv_物种);
setOnClickListener(这个);
}
@凌驾
公共void onClick(视图v){/*버튼 실행했을때 실행부분*/
Fragment fm=新的新闻片段();
FragmentTransaction=fm.getFragmentManager().beginTransaction();
事务。替换(R.id.Linearcontainer,fm);
transaction.addToBackStack(空);
commit();
}//onClick
}//观众
只要这样做, 从实例化适配器的活动或片段中传递getSupportFragmentManager,并在适配器类构造函数中执行此操作

 public ViewHolder(View itemView, FragmentManager fragmentManager) {
        super(itemView);

        imgThumbnail = (ImageView)itemView.findViewById(R.id.img_thumbnail);
        tvspecies = (TextView)itemView.findViewById(R.id.tv_species);
        this.fragmentManager = fragmentManager
        itemView.setOnClickListener(this);

    }
试试这个

public HorizontalProductAdapter(Activity context, List<RecycleIndividualProduct>data, FragmentManager fragmentManager){
        inflater = LayoutInflater.from(context);
        this.subActivityData = data;
        this.fragmentManager=fragmentManager;
}

在我的recyclerview适配器类中,我执行了以下操作:

//recyclerView adapter global variable
private List<Data_Class> dataModel;
private Context mContext;
private FragmentManager FragManager;

//Recyclerview adapter constructor
public Recycler_Adapter_Class(Context appContext, List <Data_Class> data, FragmentManager fmanager) {
    this.mContext = appContext;
    this.dataModel = data;
    this.FragManager = fmanager;
}

//In the activity or Fragment that calls the recyclerview adapter I did this:

Recycler_Adapter_Class RC = new Recycler_Adapter_Class(this, Data_Class_List, this.getSupportFragmentManager());

RecyclerView rView = (RecyclerView) findViewById(R.id.recycler_view);

rView.setAdapter(RC);
//recyclerView适配器全局变量
私有列表数据模型;
私有上下文;
私有碎片管理器碎片管理器;
//Recyclerview适配器构造函数
公共回收器_适配器_类(上下文appContext、列表数据、碎片管理器fmanager){
this.mContext=appContext;
this.dataModel=数据;
this.FragManager=fmanager;
}
//在调用recyclerview适配器的活动或片段中,我执行了以下操作:
Recycler_Adapter_Class RC=新的Recycler_Adapter_Class(此,数据_Class_列表,此.getSupportFragmentManager());
RecyclerView rView=(RecyclerView)findViewById(R.id.recycler\u视图);
rView.setAdapter(RC);
希望这对别人有帮助。干杯

通过构造然后替换来传递碎片事务。

publicsettingsadapter(上下文、列表设置列表、android.support.v4.app.FragmentTransaction ft){
this.context=上下文;
this.settingsList=settingsList;
this.ft=ft;
}
//使用构造函数调用SettingsAdapter FragmentTransaction FragmentTransaction=getFragmentManager().beginTransaction();
settingsAdapter=新的settingsAdapter(getActivity(),settingsList,fragmentTransaction)`在此处输入代码`
找到答案了吗?
//recyclerView adapter global variable
private List<Data_Class> dataModel;
private Context mContext;
private FragmentManager FragManager;

//Recyclerview adapter constructor
public Recycler_Adapter_Class(Context appContext, List <Data_Class> data, FragmentManager fmanager) {
    this.mContext = appContext;
    this.dataModel = data;
    this.FragManager = fmanager;
}

//In the activity or Fragment that calls the recyclerview adapter I did this:

Recycler_Adapter_Class RC = new Recycler_Adapter_Class(this, Data_Class_List, this.getSupportFragmentManager());

RecyclerView rView = (RecyclerView) findViewById(R.id.recycler_view);

rView.setAdapter(RC);