我的API调用数据列表已列入input
。我有一个RecyclerView
界面,用于打开包含项目图像和详细信息的新片段。
当我点击该项目时,我需要将数据传递给第二个片段及其适配器。它将如何运作?
我是否需要使用捆绑包发送此数据,然后在第二个片段中进行另一个API调用?或者只是包含数据的包,我可以在没有额外的API调用的情况下使用它?
这是我的模特:
itemClickListener
这是我的MainFragment:
public class Products {
private String productId;
private String productName;
private String shortDescription;
private String longDescription;
private String price;
@SerializedName("productImage")
private String image;
@SerializedName("reviewRating")
private double rating;
private int reviewCount;
private boolean inStock;
public String getProductId() {
return productId;
}
public String getProductName() {
return productName;
}
public String getShortDescription() {
return shortDescription;
}
public String getLongDescription() {
return longDescription;
}
public String getPrice() {
return price;
}
public String getImage() {
return image;
}
public double getRating() {
return rating;
}
public int getReviewCount() {
return reviewCount;
}
public boolean isInStock() {
return inStock;
}
}
我的适配器:
private void setBundle(int position) {
args = new Bundle();
String[] clickedItem = {apiProducts.get(position).getImage(),
apiProducts.get(position).getLongDescription(),
String.valueOf(apiProducts.get(position).isInStock())};
args.putStringArray("Item", clickedItem);
}
private void productsClickListener() {
if (apiObjectAdapter != null) {
apiObjectAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(View itemView, int position) {
setBundle(position);
setDetailsFragment(args);
}
});
}
}
答案 0 :(得分:0)
使用捆绑 表单发件人将数据设为
Fragment fragment = new Fragment();
Bundle bundle = new Bundle();
bundle.putInt(key, value);
fragment.setArguments(bundle);
并在下一个接收器中接收为
Bundle bundle = this.getArguments();
int myInt = bundle.getInt(key, defaultValue);
有关https://developer.android.com/reference/android/os/Bundle.html
的更多详细信息