我是 android 的新手,我有两个类 Activity 类 BureauRateListing.java
和一个 Adapter 类 CurrencySelectorAdapter.java
。
所以我想在 onBindViewHolder()
中从 Activity 类访问这个变量 (public String bs;
) 到 RecyclerView Adapter
类> 方法,下面是我的 Activity 类:
public String bs;
private Intent i;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rate_recycler_view);
raterv = (RecyclerView) findViewById(R.id.raterv_rv);
i = getIntent();
bs = i.getStringExtra("buysell");
}
现在我如何从一个Activity 类
访问变量 (public String bs;
) 到一个onBindViewHolder()
方法中的适配器类,我将其作为 Extra 发送到 NextActivity。下面是我的 onBindViewHolder()
方法,我想在其中访问 variable 并将其作为 Extra 发送:
@Override
public void onBindViewHolder(CurrencyViewHolder holder, int position) {
final BureauRateObject br = itemList.get(position);
holder.bureauname.setText(br.getBureau_name());
holder.rates.setText(br.getBuysell());
final String BureauId = br.getBureau_id();
final String BureauName = br.getBureau_name();
final String BureauPhone = br.getBureau_phone();
final String BureauEmail = br.getBureau_email();
final String Website = br.getWebsite();
final String Branches = br.getBranches();
final String BureauProfile = br.getBureau_profile();
final String BureauLogo = br.getBureau_logo();
final String BureauPhoto = br.getBureau_photo();
final String currency = br.getBuysell();
final String BuySell = "Buying";
final String BuySell_two ="Selling";
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(CurrencySelectorAdapter.this.context, SingleForexDetails.class);
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("bureau_id", BureauId);
i.putExtra("bureau_name",BureauName);
i.putExtra("bureau_phone",BureauPhone);
i.putExtra("bureau_email",BureauEmail);
i.putExtra("website",Website);
i.putExtra("branches",Branches);
i.putExtra("bureau_profile",BureauProfile);
i.putExtra("bureau_logo",BureauLogo);
i.putExtra("bureau_photo",BureauPhoto);
i.putExtra("currency",currency);
i.putExtra("Buying",BuySell);
i.putExtra("Selling",BuySell_two);
context.startActivity(i);
}
});
}
最佳答案
试试这个
BureauRateListing extends Activity{
public String bs;
private Intent i;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rate_recycler_view);
raterv = (RecyclerView) findViewById(R.id.raterv_rv);
i = getIntent();
bs = i.getStringExtra("buysell");
}
public string getbs(){
return bs;
}
}
CurrencySelectorAdapter extends ...{
BureauRateListing mBureauRateListing; // it's Activity
CurrencySelectorAdapter (Activity activity){
mBureauRateListing =activity;
}
.
.
.
@Override
public void onBindViewHolder(CurrencyViewHolder holder, int position) {
String bs = mBureauRateListing.getbs();
.
.
.
}
关于java - 从 Activity 访问变量到 RecyclerView 适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41975639/