gpt4 book ai didi

android - 显示 fragment 点击

转载 作者:行者123 更新时间:2023-11-29 17:22:29 25 4
gpt4 key购买 nike

我的行有错误

FragmentManager fm = getFragmentManager();

单击时传递 Activity 的任何解决方案?那我需要什么?

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewHolders> {

private List<ItemObject> itemList;
private Context context;


public RecyclerViewAdapter(Context context, List<ItemObject> itemList) {
this.itemList = itemList;
this.context = context;
}

@Override
public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {

View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_view_list, null);
RecyclerViewHolders rcv = new RecyclerViewHolders(layoutView);
return rcv;
}

@Override
public void onBindViewHolder(final RecyclerViewHolders holder, final int position) {
holder.cardText.setText(itemList.get(position).getName());
holder.cardPhoto.setImageResource(itemList.get(position).getPhoto());

holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {

switch (position){
case 0:

FragmentManager fm = getFragmentManager();

FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.frameLayout, new FragmentNewGame(), "newGame");
ft.addToBackStack(null);
ft.commit();

最佳答案

替换这个:

 FragmentManager fm = getFragmentManager();

为此:

FragmentManager fm = ((Activity)context).getFragmentManager(); 

那么你的代码应该是这样的:

FragmentManager fm = ((Activity)context).getFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.frameLayout, new FragmentNewGame(), "newGame");
ft.addToBackStack(null);
ft.commit();

或者

FragmentTransaction ft = ((Activity)context).getSupportFragmentManager().beginTransaction();
ft.replace(R.id.frameLayout, new FragmentNewGame(), "newGame");
ft.addToBackStack(null);

关于android - 显示 fragment 点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36070422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com