gpt4 book ai didi

android - 从列表适配器调用 fragment

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:44 26 4
gpt4 key购买 nike

我在我的应用程序中使用滑动菜单/抽屉模式。所以主 Activity 有一个 leftView,它是一个名为 topicsFragment() 的 ListFragment,它加载了一组主题项。单击项目/主题时,它会通过调用 FeedsFragment(tag) 替换主视图上的 fragment 。 FeedsFragment 使用 arraylist 适配器加载在每个列表项中具有各种可点击项的提要。当在列表项中单击某个项目时,我想在 feedsFragment(tag) 上获取另一个实例。

    holder.contextView= (TextView) newsView.findViewById(R.id.arcHeader);
if (item.hasArc()) {
holder.contextView.setVisibility(View.VISIBLE);
String arc;
try {
arc=item.getarc();
holder.contextView.setText(arc);

holder.contextView.setOnClickListener(new View.OnClickListener() {

//currently it loads a class
@Override
public void onClick(View v) {
Intent i = new Intent(context, SomeClass.class);
i.putExtra("tag", arc);
context.startActivity(i);
}
});
} catch (JSONException e) {

e.printStackTrace();
}

} else {
holder.contextView.setVisibility(View.GONE);
}

目前它加载了一个新类。我想定义一个 fragment ,然后传递给主 Activity 以替换为当前 View ,但我不能在适配器类中使用 getSupportFragmentManager(),但只能在 fragment 或 fragment Activity 中使用。什么应该是从适配器中清除 fragment 的替代方法?

最佳答案

我所做的是在我的主要 Activity 中创建这个方法,然后从其他类中调用它来更改 fragment :

public void switchContent(Fragment fragment) {
mContent = fragment;
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment).commit();

slidemenu.showContent();

}

关于android - 从列表适配器调用 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14784344/

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