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

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

回收視圖:如何將一些帖子與圖像和沒有圖像混合?

回收視圖:如何將一些帖子與圖像和沒有圖像混合?

有只小跳蛙 2022-09-14 17:00:28
我想在同一個回收視圖中顯示,即某些帖子有圖像,而某些帖子沒有圖像。我可以檢索所有帶有圖像和非圖像的帖子,但是當(dāng)用戶僅發(fā)布文本(無圖像)時,我想更改帖子的大小。我期望輸出像推特提要一樣。一些有圖像和沒有圖像的帖子有自己的大小。
查看完整描述

5 回答

?
森林海

TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊

實現(xiàn)此方案的簡單方法是,您所要做的就是創(chuàng)建一個同時包含圖像和文本的視圖,在回收器適配器中檢查圖像數(shù)據(jù)是否可用,使圖像的可見性可見,否則圖像可見性消失。


第二種方法是為 創(chuàng)建多個視圖。RecyclerView


 @Override

 public void onBindViewHolder(ViewHolder holder, int position) {


        Log.d(TAG, "onBindViewHolder called");        

        ContentItem item = mContentItems.get(position);


        if(item.getName()!=null){

             holder.textName.setVisibility(View.Visible);

             holder.textName.setText(item.getName());        

        }else{

             holder.textName.setVisibility(View.GONE);

        }


       if(item.getPreviewImageDefault()!=null){

             holder.imageIcon.setVisibility(View.Visible)        

             Picasso.with(mContext).load("file://" + item.getPreviewImageDefault()).into(holder.imageIcon);  

       }else{

             holder.imageIcon.setVisibility(View.GONE)

       }

 }


查看完整回答
反對 回復(fù) 2022-09-14
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊

另一種可能的解決方案是創(chuàng)建 2 xml 布局,并在回收器視圖中使用視圖類型。

看這個 如何創(chuàng)建回收器視圖與多個視圖類型?


查看完整回答
反對 回復(fù) 2022-09-14
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗 獲得超9個贊

如果你想隱藏圖像,你可以這樣做(支持將可繪制的id作為整數(shù)返回):ic_launcherdata.getImage()


@Override

public void onBindViewHolder(ViewHolder viewHolder, int i) {


   if(mItems!=null){

      AdapterData data = mItems.get(i);

      viewHolder.text.setText(data.getText());

      viewHolder.image.setImageResource(data.getImage());


      if(TextUtils.isEmpty(data.getText())){

         viewHolder.text.setVisibility(View.GONE);

      }else{

         viewHolder.text.setVisibility(View.VISIBLE);

      }


      if(data.getImage()==R.drawable.ic_launcher){

         viewHolder.image.setVisibility(View.GONE);

      }else{

         viewHolder.image.setVisibility(View.VISIBLE);

      }

  }


}


查看完整回答
反對 回復(fù) 2022-09-14
?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗 獲得超9個贊

一種可能的解決方案,就像有些人已經(jīng)說過的那樣,是隱藏/顯示圖像視圖。


您可以在用于回收站視圖的視圖管理器中執(zhí)行此操作。


class OptionalImageViewHolder extends RecyclerView.ViewHolder {

    private ImageView image;

    private TextView text;

    // any other views you have


    public OptionalImageViewHolder(View itemView) {

        super(itemView);

        image = itemView.findViewById(R.id.yourImageViewIdHere);

        text = itemView.findViewById(R.id.yourTextViewIdHere);

        // same for any other views you have

    }


    public void bindView(Tweet tweet) {

        // This is where the magic happens

        // Note: I make the assumption that you have a class called "Tweet"

        // that has a field for "text", a field for "image" (that can be

        // null if there's no image), and any other necessary fields.


        text.setText(tweet.getTweetText());

        if (tweet.hasImage() /* function that returns whether or not there is an image */) {

            image.setVisibility(View.VISIBLE);

            image.setImageBitmap(tweet.getImage()); // or however you are setting the image

        } else {

            // else just make the image invisible

            image.setVisibility(View.GONE);

        }

    }

}

希望這能給你一個想法。


查看完整回答
反對 回復(fù) 2022-09-14
?
慕絲7291255

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

回收視圖支持不同的視圖類型(布局),這是在這種情況下的正確方法。例如,


class MyAdapter : RecyclerView.Adapter<MyViewHolder>() {


  override fun getViewTypes(position:Int) =

    if (mydata[position].hasImage) return R.layout.mylayout_with_image

    else R.layout.mylayout_no_image;


  override fun onCreateViewHolder(viewType:Int, parent:ViewGroup) : MyViewHolder =

    // here viewType = layout id

    MyViewHolder(layoutInflater.inflate(viewType, parent))


  override fun onBindViewHolder(viewHolder:MyViewHolder, position:Int) {

    // guaranteed viewHolder.itemView is the view you want for that position

  }


}


查看完整回答
反對 回復(fù) 2022-09-14
  • 5 回答
  • 0 關(guān)注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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