java - 从 Activity 访问变量到 RecyclerView 适配器

标签 java android android-activity android-recyclerview

我是 android 的新手,我有两个类 ActivityBureauRateListing.java 和一个 AdapterCurrencySelectorAdapter.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/

相关文章:

android - 如何在 Android 中的多个 Activity 之间切换

android - 如何避免同一 Activity 的多个实例?

android - 切换 fragment - Google Map Fragment V2 - Activity has been destroyed Error

java - 在jTextfield中显示jTable(char)数据

java - Android 锁屏事件?

java - Android TextView 和 ListView 中可点击的按钮

android - 错误日志文件?

java - 尝试创建一个从文件中读取文本并查找/计算单词的程序

java - system32 中的某些文件对于 Java 程序不可见/不可访问

javascript - 在 Android 上的 WebView 中注入(inject) JavaScript 文件