亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我想利用 expandlelistView 來顯示產品和子產品

我想利用 expandlelistView 來顯示產品和子產品

揚帆大魚 2022-08-03 12:41:02
我想利用 expandlelistView 來顯示產品和子產品,即子持有者,在子持有者中,它包含一個 textView 和一個 Edittext,它保存每個子產品的產品計數值,這里的問題是這個。當我在編輯文本中輸入值時,在折疊組時,編輯文本中的數據會丟失。這些值將在其他組編輯文本中重復。3.如何保存數據以供以后在應用程序中使用。下面的代碼?;顒硬季?。<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".ui.activities.ShelfCheckActivity"><ExpandableListView    android:id="@+id/listview"    android:layout_width="wrap_content"    android:layout_height="match_parent"    android:dividerHeight="0dp"    android:groupIndicator="@null"    android:descendantFocusability="beforeDescendants"/></RelativeLayout>模型類public class ListItemModel {String title;ArrayList<EdittextValues> arrayList = new ArrayList<>();public ListItemModel(String title) {    this.title = title;}public String getTitle() {    return title;}public void setTitle(String title) {    this.title = title;}public ArrayList<EdittextValues> getArrayList() {    return arrayList;}public void setArrayList(ArrayList<EdittextValues> arrayList) {    this.arrayList = arrayList;}}波霍類public class EdittextValues {String value;public EdittextValues(String value) {    this.value = value;}public String getValue() {    return value;}public void setValue(String value) {    this.value = value;}}
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

只需更改以下方法并檢查其工作與否!


@Override

public View getChildView(int groupPosition, int childPosition, boolean 

    isLastChild, View convertView, ViewGroup parent) {

    if(convertView == null)

    {

        convertView = LayoutInflater.from(context).inflate(R.layout.list_row_child,null);

        childViewHolder = new ChildViewHolder(convertView, groupPosition, childPosition);        

        convertView.setTag(childViewHolder);

    }

    else{

        childViewHolder = (ChildViewHolder) convertView.getTag();

    }

  childViewHolder.childTitle.setText(groupItem.get(groupPosition)

 .getChildTitles().get(childPosition));


      return convertView;


}

另一個變化是


private class ChildViewHolder {

    public TextView childTitle;

    public EditText et;


    public ChildViewHolder(View itemView, int groupPosition, int childPosition) {

        super(itemView);

        childTitle = itemView.findViewById(R.id.textViewChild);

        et = itemView.findViewById(R.id.productCount);


        et.addTextChangedListener(new TextWatcher() {

            @Override

            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {


            }


            @Override

            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                if(charSequence != null){

                      groupItem.get(groupPosition).getArrayList().get(childPosition).setValue(charSequence.toString());

                }

            }


            @Override

            public void afterTextChanged(Editable editable) {



            }

        });

    }


}


查看完整回答
反對 回復 2022-08-03
  • 1 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號