【发布时间】:2017-11-11 11:50:15
【问题描述】:
我正在使用 RecyclerView 来显示数据。在回收站视图中,我有 onClick 方法,我想在片段之间替换。我唯一的问题是我无法从静态方法访问 getSupportFragmentManager 或 getChildFragmentManager。 RecyclerView 位于片段内部,而不是活动。
这是 RecyclerView 代码
public static class TypeMusicListAdapter extends RecyclerView.Adapter<TypeMusicListViewHolder>{
private LayoutInflater inflater;
private Context context;
private List<String> data;
public TypeMusicListAdapter(Context context, List<String> data){
this.context = context;
this.inflater = LayoutInflater.from(context);
this.data = data;
}
@Override
public TypeMusicListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = inflater.inflate(R.layout.type_music_item,parent,false);
return new TypeMusicListViewHolder(v);
}
@Override
public void onBindViewHolder(TypeMusicListViewHolder holder, int position) {
String songType = data.get(position);
//holder.musicType.setText(songType.getSongName());
holder.musicType.setText(songType);
}
@Override
public int getItemCount() {
return data.size();
}
}
public static class TypeMusicListViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private TextView musicType;
private FragmentManager fm;
public TypeMusicListViewHolder(View itemView,FragmentManager fm) {
super(itemView);
musicType = (TextView) itemView.findViewById(R.id.musicType);
this.fm = fm;
musicType.setOnClickListener(this);
}
@Override
public void onClick(View view) {
getSupportFragmentManager().
beginTransaction().
replace(R.id.container, new GenresFragment()).
commit();
}
}
当然在 getSupportFragmentManager 中给我错误... 我该怎么办..?
【问题讨论】:
标签: android android-recyclerview fragment