我正在我的应用程序中使用滑动菜单/抽屉模式。所以主活动有一个leftview,它是一个名为topicsregraft()的列表片段,它加载一组主题项。单击项目/主题时,它将通过调用feedsFragment(标记)替换主视图上的片段。feedsFragment使用ArrayList适配器加载feeds,在每个列表项中都有各种可单击的项。当在列表项中单击某个项时,我想在feedsFragment(标记)上获取另一个实例。
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);
}
目前它加载一个新类。我想定义一个片段,然后传递到主活动以替换为当前视图,但我不能在适配器类中使用getsupportfragmentmanager(),而只能在片段或片段活动中使用。除了从适配器中扫入片段之外,还有什么替代方法?
最佳答案
我所做的是在我的主活动中创建这个方法,并从其他类调用它来更改片段:
public void switchContent(Fragment fragment) {
mContent = fragment;
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment).commit();
slidemenu.showContent();
}