为了账号安全,请及时绑定邮箱和手机立即绑定

如何将文本从 recyclerview 适配器更新为其他布局 xml

如何将文本从 recyclerview 适配器更新为其他布局 xml

泛舟湖上清波郎朗 2021-09-12 10:56:39
我在活动中有ActivityCheckout.java一个适配器AdapterServiceCourier。适配器类用于显示单选按钮价格。如何textview使用 ActivityCheckout 中的视图进行更新。喜欢public TextView getTextViewPriceOngkir(){    TextView txtView = (TextView)findViewById(R.id.price_ongkir);    return txtView;}当我在适配器中使用时AdapterServiceCourier:ActivityCheckout ac = new ActivityCheckout();            TextView tv = ac.getTextViewPriceOngkir();            tv.setText("8");它的错误如:E/UncaughtException: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class <unknown>AdapterServiceCourier.java :@Overridepublic void onBindViewHolder(final ViewHolder holder, final int position) {    SharedPreferences sharedPreferences = context.getSharedPreferences(AppConfig.APP_PUPUKKUJANG_MART, Context.MODE_PRIVATE);    final String whois = sharedPreferences.getString(AppConfig.USER_WHOIS,null);    row_index = -1;    holder.itemView.setTag(service.get(position));    final ServiceCourier p = service.get(position);    holder.service.setText(p.getService());    holder.desc.setText(p.getDescription());    holder.cost.setText(p.getCost());    holder.etd.setText(p.getEtd());    holder.itemView.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View view) {        }    });    View.OnClickListener rbClick = new View.OnClickListener() {        @Override        public void onClick(View v) {            RadioButton checked_rb = (RadioButton) v;            if(lastCheckedRB != null){                lastCheckedRB.setChecked(false);            }}显示:图片点击单选按钮,价格必须设置为ongkir价格
查看完整描述

3 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

这是可观察的设计模式:

  1. 你的活动应该实现观察者接口

  2. 你的适配器应该扩展 Observable 类

  3. 您应该将您的活动添加到您的适配器

  4. 使用notiftyObserver方法您可以更新您的活动

请注意,使用此设计模式,您可以通知多个活动。


查看完整回答
反对 回复 2021-09-12
?
MMTTMM

TA贡献1869条经验 获得超4个赞

YourAdapter instance = new YourAdapter(context,arrayList,textView);


现在在适配器的构造函数中,您可以访问该文本视图。


你的适配器.java


TextView textView;

YourAdapter(Context context,Arraylist<ModelClass> arraylist,TextView textView)

{

this.textView = textView;

现在在适配器中您可以更新 textview 值。


查看完整回答
反对 回复 2021-09-12
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

在您的适配器类中 OnClick RadioButton


View.OnClickListener rbClick = new View.OnClickListener() {

    @Override

    public void onClick(View v) {

        RadioButton checked_rb = (RadioButton) v;

        if(lastCheckedRB != null){

            lastCheckedRB.setChecked(false);

        }

        .....

        .....

        //Create Statis Mathod in ActivityCheckout and Access Hear

         ActivityCheckout.updateTextView(String DataUWantToAdd);

    }

};

在你的 ActivityCheckout 类中


添加静态 Mathod 不要错过那个


class ActivityCheckout

{

 .....

  //on create and etc

  public static void updateTextView(String DataUWantToUpadate)

  {

    yourTextViewObject.setText(DataUWantToUpdate);

  }


}


查看完整回答
反对 回复 2021-09-12
  • 3 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信