我正在我的应用程序中使用滑动菜单/抽屉模式。所以主活动有一个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();

    }

10-07 19:45
查看更多