其他分享
首页 > 其他分享> > android – 从列表适配器调用片段

android – 从列表适配器调用片段

作者:互联网

我在我的应用程序中使用滑动菜单/抽屉模式.所以main活动有一个leftView,它是一个名为topicsFragment()的ListFragment,它加载了一组主题项.单击某个项目/主题时,它将通过调用FeedsFragment(标记)替换主视图上的片段. FeedsFragment使用arraylist适配器加载在每个列表项中具有各种可点击项的源.我想在列表项中单击项目时在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);
    }

目前它加载了一个新类.我想定义一个片段,然后传递给main活动以替换当前视图,但我不能在适配器类中使用getSupportFragmentManager(),而只能在片段或片段活动中使用.什么应该是从适配器扫描片段的替代方案?

解决方法:

我所做的是在我的主要活动中创建此方法,并从其他类调用它来更改片段:

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

        slidemenu.showContent();

    }

标签:android,android-fragments,android-listfragment,android-sliding
来源: https://codeday.me/bug/20190529/1179680.html