现在我从 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();
}
}
}
这里我需要将标题从 homefragment 传递给overviewfragment,但是overviewfragment 是空的。
答案 0 :(得分:1)
需要两步:
将数据从 Homefragment 发送到 EmptyActivity。
为此,您可以使用 // noinspection CssNoGenericFontName
.my_text {
font-family: 'DINPro-Medium';
}
方法。
将数据从 EmptyActivity 设置为 OverviewFragment。
为此,您可以使用 putExtra()
方法。