Intent i = getIntent();
Bundle myBundle = i.getExtras();
date1 = myBundle.getString("Date1");
date2 = myBundle.getString("Date2");
user = myBundle.getString("UserName");
chain = myBundle.getString("ChainName");
shop = myBundle.getString("ShopName");
product_g = myBundle.getString("ProductGroup");
product_c = myBundle.getString("ProductCategory");
product = myBundle.getString("Product");
count = myBundle.getInt("Count");
type_c = myBundle.getInt("CountType");
price = myBundle.getInt("Price");
type_p = myBundle.getInt("PriceType");
inch = myBundle.getInt("Inch");
promotor = myBundle.getInt("Promotor");
我需要在回收站适配器中使用这些变量,以便在RecyclerView
适配器中提出改装请求。
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
android.app.AlertDialog.Builder mBuilder = new android.app.AlertDialog.Builder(context);
LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View mView = li.inflate(R.layout.sales_filtered_shop_pop_up, null);
final RecyclerView rd3 = (RecyclerView) mView.findViewById(R.id.sales_rv);
Button mClose = (Button) mView.findViewById(R.id.sales_pop_up_btn_close);
mBuilder.setView(mView);
final android.app.AlertDialog dialog = mBuilder.create();
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.setCancelable(false);
// here
dialog.show();
mClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
}
});
这是我的RecyclerView
适配器项目单击。我需要// here
中的变量来进行Retrofit
api调用。
答案 0 :(得分:1)
意图用于活动之间的通信,您需要做的是在适配器中创建一个简单的函数,然后调用活动。
适配器:
private String date1;
private String date2;
public void setData(String date1, String date2, ...) {
this.date1 = date1;
this.date2 = date2;
...
}
活动:
adapter.setData(date1, date2, ..);
答案 1 :(得分:1)
(但是我无法使用评论) @DoubleD编写的想法是正确的,您需要做的就是创建一个函数(非常类似于构造函数),该函数将在适配器类中接收数据。 您得到的NullPointerException不是来自该函数,请检查您的数据。 并且我建议创建一个自定义对象来容纳这些东西(取决于您的目标)。
答案 2 :(得分:1)
检查此答案。在这里,您将在Activity中添加onClickListener()。