第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

隱藏多個(gè)空文本視圖

隱藏多個(gè)空文本視圖

繁星淼淼 2023-03-17 13:50:14
我正在使用一個(gè)RecyclerView, 和一個(gè)CardView, 其中包括多個(gè)TextViews。每張卡片都需要顯示不同數(shù)量的TextViews,因此有些卡片會(huì)是空的,如果是空的,它只會(huì)在卡片上顯示一個(gè)空白區(qū)域。這一切都在 的適配器中執(zhí)行RecyclerView。例如:Card 1: (id 1)3 TextViews showingCard 2: (id 2)10 TextViews showingCard 3: (id 3)7 TextViews showing我目前使用 if else 語(yǔ)句來(lái)確定它是哪一組文本,然后它分配文本視圖、設(shè)置文本或隱藏視圖。我試圖創(chuàng)建一個(gè)簡(jiǎn)單的循環(huán)來(lái)循環(huán)遍歷所有文本視圖并在它們?yōu)榭諘r(shí)隱藏它們。但是,我嘗試的方式不起作用,因?yàn)樗褂米址鳛門(mén)extView.適配器類(lèi):        .Adapter<SettingsAdapter        .DataObjectHolder> {    private ArrayList<DataObject> mDataset;    Context context;    public static class DataObjectHolder extends RecyclerView.ViewHolder {        public DataObjectHolder(View itemView) {            super(itemView);            setting1 = (TextView) itemView.findViewById(R.id.textView);            setting2 = (TextView) itemView.findViewById(R.id.textView2);           //... assigning all the textviews        }    }    public SettingsAdapter(ArrayList<DataObject> myDataset, Context context) {        mDataset = myDataset;        this.context = context;    }    @Override    public DataObjectHolder onCreateViewHolder(ViewGroup parent,                                               int viewType) {        View view = LayoutInflater.from(parent.getContext())                .inflate(R.layout.settings_card_view, parent, false);        DataObjectHolder dataObjectHolder = new DataObjectHolder(view);        return dataObjectHolder;    }
查看完整描述

2 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

我認(rèn)為你可以在你的 DataObject 類(lèi)中做一個(gè)在列表或數(shù)組中返回所有消息的方法。


// Somewhere in your DataObject class, it's important to add all the messages, even if they are empty

public String[] getAllMessages(){

    return new String[]{messages1, messages2, messages3};

}

然后你可以創(chuàng)建一個(gè) TextView 列表來(lái)循環(huán)它,比如:


private ArrayList<DataObject> mDataset;

Context context;

//Here your list

private List<TextView> tvList = new ArrayList();


public static class DataObjectHolder extends RecyclerView.ViewHolder {


    public DataObjectHolder(View itemView) {

        super(itemView);

        setting1 = (TextView) itemView.findViewById(R.id.textView);

        setting2 = (TextView) itemView.findViewById(R.id.textView2);


       // Then you add all your TextViews to your list

       tvList.add(setting1); 

       tvList.add(setting2); 

    }

}

然后在你的onBindViewHolder方法中你可以循環(huán)你的列表:


@Override

public void onBindViewHolder(DataObjectHolder holder, int position) {

    String[] messages = mDataset.get(position).getAllMessages(); // The method that we just code

    for(int i = 0; i < tvList.size(); i++){

        if(messages[i].isEmpty()){

            tvList.get(i).setVisibility(View.GONE);

        }else{

             tvList.get(i).setVisibility(View.VISIBLE);

             tvList.get(i).setText(messages[i]);

        }

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-03-17
?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

就我個(gè)人而言,我會(huì)從您的 textViews 創(chuàng)建一個(gè)數(shù)組,并循環(huán)遍歷所有這些數(shù)組。如果他們的文本長(zhǎng)度 == 0 隱藏文本視圖,否則顯示。


如果public void onBindViewHolder()


@Override

public void onBindViewHolder(DataObjectHolder holder, int position) {


    for(TextView textView : textViews) {

        textView.setText("");

        textView.setVisibility(View.GONE);

    }


    int id= mDataset.get(position).getmIndex();

    if (id == 1) {

        holder.setting1.setText(mDataset.get(position).getmText1());

    } else if (id == 2) {

        holder.setting1.setText(mDataset.get(position).getmText1());

        holder.setting2.setText(mDataset.get(position).getmText2());

        holder.setting3.setText(mDataset.get(position).getmText3());

        holder.setting4.setText(mDataset.get(position).getmText4());

        holder.setting5.setText(mDataset.get(position).getmText5());

        holder.setting6.setText(mDataset.get(position).getmText6());

        holder.setting7.setText(mDataset.get(position).getmText7());

        holder.setting8.setText(mDataset.get(position).getmText8());

        holder.setting9.setText(mDataset.get(position).getmText9());

        holder.setting10.setText(mDataset.get(position).getmText10());

    } else if (id == 3) {

        holder.setting1.setText(mDataset.get(position).getmText1());

        holder.setting2.setText(mDataset.get(position).getmText2());

        holder.setting3.setText(mDataset.get(position).getmText3());

        holder.setting4.setText(mDataset.get(position).getmText4());

        holder.setting5.setText(mDataset.get(position).getmText5());

        holder.setting6.setText(mDataset.get(position).getmText6());

        holder.setting7.setText(mDataset.get(position).getmText7());

    } 


    for(TextView textView : textViews) {

        if (textView.getText().length > 0) {

           textView.setVisibility(View.VISIBLE);

        }

    }

}



查看完整回答
反對(duì) 回復(fù) 2023-03-17
  • 2 回答
  • 0 關(guān)注
  • 135 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)