猿问

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

我在活动中有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 :


@Override

public 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价格

泛舟湖上清波郎朗
浏览 171回答 3
3回答

茅侃侃

这是可观察的设计模式:你的活动应该实现观察者接口你的适配器应该扩展 Observable 类您应该将您的活动添加到您的适配器使用notiftyObserver方法您可以更新您的活动请注意,使用此设计模式,您可以通知多个活动。

MMTTMM

YourAdapter instance = new YourAdapter(context,arrayList,textView);现在在适配器的构造函数中,您可以访问该文本视图。你的适配器.javaTextView textView;YourAdapter(Context context,Arraylist<ModelClass> arraylist,TextView textView){this.textView = textView;}&nbsp;现在在适配器中您可以更新 textview 值。

江户川乱折腾

在您的适配器类中 OnClick RadioButtonView.OnClickListener rbClick = new View.OnClickListener() {&nbsp; &nbsp; @Override&nbsp; &nbsp; public void onClick(View v) {&nbsp; &nbsp; &nbsp; &nbsp; RadioButton checked_rb = (RadioButton) v;&nbsp; &nbsp; &nbsp; &nbsp; if(lastCheckedRB != null){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lastCheckedRB.setChecked(false);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; .....&nbsp; &nbsp; &nbsp; &nbsp; .....&nbsp; &nbsp; &nbsp; &nbsp; //Create Statis Mathod in ActivityCheckout and Access Hear&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActivityCheckout.updateTextView(String DataUWantToAdd);&nbsp; &nbsp; }};在你的 ActivityCheckout 类中添加静态 Mathod 不要错过那个class ActivityCheckout{&nbsp;.....&nbsp; //on create and etc&nbsp; public static void updateTextView(String DataUWantToUpadate)&nbsp; {&nbsp; &nbsp; yourTextViewObject.setText(DataUWantToUpdate);&nbsp; }}
随时随地看视频慕课网APP

相关分类

Java
我要回答