Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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中将数据从片段传递到另一个片段?_Java_Android_Android Intent_Android Recyclerview_Fragment - Fatal编程技术网

如何使用java在android中将数据从片段传递到另一个片段?

如何使用java在android中将数据从片段传递到另一个片段?,java,android,android-intent,android-recyclerview,fragment,Java,Android,Android Intent,Android Recyclerview,Fragment,现在我从API中获取了所有数据,并将其显示在Homefragment中,现在我想要下一个片段的标题,该片段称为overviewfragment。实际上overviewfragment处于emptyactivity状态,所以现在如何将数据从一个片段传递到另一个片段 class MostCrowdedRecyclerAdapter { @NonNull @Override public TopViewHolder onCreateViewHolder(@NonNull Vie

现在我从API中获取了所有数据,并将其显示在Homefragment中,现在我想要下一个片段的标题,该片段称为overviewfragment。实际上overviewfragment处于emptyactivity状态,所以现在如何将数据从一个片段传递到另一个片段

class MostCrowdedRecyclerAdapter {
    @NonNull
    @Override
    public TopViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.home_layout_layout_5, parent, false);
        return new TopViewHolder(view);
    }

    @SuppressLint("SetTextI18n")
    @Override
    public void onBindViewHolder(@NonNull TopViewHolder holder, int position) {

        holder.restaurantName.setText(list.get(position).getName());
        holder.distance.setText(list.get(position).getDistance() + " Mile");
        vybeAPI = Float.valueOf(list.get(position).getVybe());
        holder.vybe.setText(vybeAPI + "%");
        //   setAnimation(holder.itemView, position);
        holder.v.setOnClickListener(v -> {                                        <--here I did Intent i = new Intent(v.getContext(), EmptyActivity.class);
            i.putExtra("Restaurant", getItemId(position));
            context.startActivity(i);
        });
    }

    @Override
    public int getItemCount() {
        int limit = 6;
        return Math.min(list.size(), limit);
    }


    OverViewFragment:
    String data;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_over_view, container, false);
        TextView singletitle = view.findViewById(R.id.single);
        try {
            data = String.valueOf(Intent.getIntent("Restaurant").getExtras());
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
    }
}
类MostCrowdedRecyclerAdapter{
@非空
@凌驾
public TopViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
View View=LayoutInflater.from(parent.getContext()).flate(R.layout.home\u layout\u layout\u 5,parent,false);
返回新的TopViewHolder(视图);
}
@SuppressLint(“SetTextI18n”)
@凌驾
public void onBindViewHolder(@NonNull TopViewHolder,int位置){
holder.restaurantName.setText(list.get(position.getName());
holder.distance.setText(list.get(position.getDistance()+“Mile”);
vybeAPI=Float.valueOf(list.get(position.getVybe());
holder.vybe.setText(vybeAPI+“%”);
//设置动画(holder.itemView,位置);
holder.v.setOnClickListener(v->{需要两个步骤:

  • 将数据从Homefragment发送到EmptyActivity

    为此,可以使用
    putExtra()
    方法

  • 将数据从EmptyActivity设置为OverviewFragment

    为此,可以使用
    setArgument()
    方法


  • 如果你的片段在两个不同的活动中,你可以看看这个答案这个答案回答了你的问题吗?