Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:如何在ArrayAdapter类中使用getChildFragmentManager()?_Java_Android_Android Fragments_Android Arrayadapter - Fatal编程技术网

Java Android:如何在ArrayAdapter类中使用getChildFragmentManager()?

Java Android:如何在ArrayAdapter类中使用getChildFragmentManager()?,java,android,android-fragments,android-arrayadapter,Java,Android,Android Fragments,Android Arrayadapter,如何在扩展ArrayAdapter的自定义适配器中使用方法getChildFragmentManager() 如果您需要查看,以下是我的代码: MyAdapter.java: public class MyAdapter extends ArrayAdapter<Content> { Context context; List<Content> myList; public static final String pattern = "(?&l

如何在扩展
ArrayAdapter
的自定义适配器中使用方法
getChildFragmentManager()

如果您需要查看,以下是我的代码:

MyAdapter.java:

public class MyAdapter extends ArrayAdapter<Content> {


    Context context;
    List<Content> myList;
    public static final String pattern = "(?<=watch\\?v=|/videos/|embed\\/)[^#\\&\\?]*";
    public MyAdapter(Context context, int resource, List<Content> objects) {
        super(context, resource, objects);

        this.context = context;
        this.myList = objects;
    }


    @Override
    public int getCount() {
        if (myList != null)
            return myList.size();
        return 0;
    }

    @Override
    public Content getItem(int position) {
        if (myList != null)
            return myList.get(position);
        return null;
    }

    @Override
    public long getItemId(int position) {
        if (myList != null)
            return myList.get(position).hashCode();
        return 0;

    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        Holder holder;

        if (convertView == null) {

            holder = new Holder();

            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            convertView = inflater.inflate(R.layout.list_item, null);

            holder.contId = (TextView) convertView.findViewById(R.id.content_id);
            holder.contType = (TextView) convertView.findViewById(R.id.type);
            holder.txtTitle = (TextView) convertView.findViewById(R.id.title);
            holder.txtTeaser = (TextView) convertView.findViewById(R.id.teaser);
            holder.imageView = (ImageView) convertView.findViewById(R.id.cover_photo);
            holder.youTubeVideo = (FrameLayout) convertView.findViewById(R.id.youTube_frame);


            convertView.setTag(holder);

        } else {

            holder = (Holder) convertView.getTag();

        }


        Content content = getItem(position);

        holder.contId.setText(content.getId());
        holder.contType.setText(content.getType());
        holder.txtTitle.setText(content.getTitle());
        holder.txtTeaser.setText(content.getTeaser());
        Picasso.with(context).load(Uri.parse(content.getImageUrl())).into(holder.imageView);

        if(content.getCoverVideo() != null && !content.getCoverVideo().equals("")){
            String cover_video = content.getCoverVideo();
            Pattern compiledPattern = Pattern.compile(pattern);
            Matcher matcher = compiledPattern.matcher(cover_video);
            if(matcher.find()){
                cover_video =  matcher.group();
            }
            Bundle youTubeBundle = new Bundle();
            youTubeBundle.putString("link", cover_video);

            FragmentManager manager = getChildFragmentManager(); // <------ Can't resolve method

            FragmentTransaction transaction = manager.beginTransaction();

            ArticleYouTubeFragment youtubeFragment = new ArticleYouTubeFragment();
            youtubeFragment.setArguments(youTubeBundle);
            transaction.replace(R.id.list_youTube_frame, youtubeFragment);
            transaction.commit();
        }

        return convertView;
    }

    private class Holder {

        TextView contId;
        TextView contType;
        TextView txtTitle;
        TextView txtTeaser;
        ImageView imageView;
        FrameLayout youTubeVideo;

    }
}
公共类MyAdapter扩展了ArrayAdapter{
语境;
列出我的清单;

公共静态最终字符串模式=”(?我相当确定这不是您想要做的。这将尝试在每次视图绑定到列表时替换片段。如果您确实需要它,请将其传递到构造函数。否则,只需让活动或片段在侦听器中处理该逻辑。我有同样的问题,您已经解决了吗?