美文网首页
Scrollview+listview替代方案

Scrollview+listview替代方案

作者: 程序猿的小生活 | 来源:发表于2021-10-05 14:04 被阅读0次

Scrollview+listview的不足

最近在做项目的时候,发现在使用scrollview+listview时候,总会遇到控件显示不全,这让我感到非常的头疼,看到网上方法尝试了下,发现对于动态扩展的内容还是会出现控件内容显示不全的问题,所以,我找到了一种替代Scrollview+listview的不足 方法,使用NestedScrollView+RecyclerView的方法替代

NestedScrollView+RecyclerView的界面布局

友情提示:scrollview只能包含在整个的布局中

 <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
            <android.support.v7.widget.RecyclerView
                android:id="@+id/mylv"
                android:divider="@null"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>
</android.support.v4.widget.NestedScrollView>

适配器文件

public class RYPingLunAdapter extends RecyclerView.Adapter<RYPingLunAdapter.ViewHolder> {
    Context context;
    List<PingLunBean> pllist;
    public RYPingLunAdapter(Context context, List<PingLunBean> pllist) {
            this.context = context;
            this.pllist = pllist;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
       View view = View.inflate(context, R.layout.itempinglunbeanlayout, null);
       ViewHolder holder = new ViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        holder.nametv.setText(pllist.get(position).getName()+" "+pllist.get(position).getTime());
      //  holder.content.setText(pllist.get(position).getContent());
        MyMoreTextView myMoreTextView = new MyMoreTextView();
        myMoreTextView .getLastIndexForLimit(holder.content, 5, pllist.get(position).getContent());
    
    }

    @Override
    public int getItemCount() {
        return pllist.size();
    }


    static class ViewHolder extends RecyclerView.ViewHolder{
        TextView nametv;
        TextView content;
        public ViewHolder (View view)
        {
            super(view);
 
            nametv = view.findViewById(R.id.nametv);
            content = view.findViewById(R.id.content);
    
        }

    }
}

代码调用

  mylv = findViewById(R.id.mylv);
        mylv.setNestedScrollingEnabled(false);
        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        mylv.setLayoutManager(layoutManager);
RYPingLunAdapter pingLunAdapter = new RYPingLunAdapter(jianyanzizhengdetailactivity.this,pllist);
                                mylv.setAdapter(pingLunAdapter);
                                pingLunAdapter.notifyDataSetChanged();

相关文章

  • Scrollview+listview替代方案

    Scrollview+listview的不足 最近在做项目的时候,发现在使用scrollview+listview...

  • 写给30的日记

    没有完美的替代方案,如果是替代方案的话尽量不要花钱

  • 替代方案

    以前我做研发经理的时候,我对下面的工程师往往会提出一个要求。就是你做了你的方案,你必须告诉我,你的方案b,甚至是方...

  • 替代方案

    1、专门系统   2790测试系统是一个专门针对性的组合系统。  这些高电压、多通道电阻测量解决方案可加快并简化安...

  • Convert Gif To Video?

    GIF替代方案 维基百科的解释Video alternative to GIF已经提出来的替代gif的方案中,通常...

  • Android:startActivityForResult替换

    1、startActivityForResult 替代方案: startActivityForResult() 方...

  • 2017-12-06

    评价替代方案、制定并执行行动计划 1)评价替代方案 一旦决定采取某种解决方案,就难以撤回,错误的解决方案只会加剧问...

  • findViewById替代方案

    databinding:能够替代findViewById,但是databinding的设计是为了view和数据的双...

  • angular中路由的应用

    动态路由替代方案 网页搜索(翻墙)没有找到关于ng2的动态路由的资料,尝试通过替代方案解决html代码: dire...

  • 跟熊浩学沟通.打卡第8天

    15替代方案 所谓替代方案,是那些在谈判无法达成的时候,靠你单方的力量,而无需对方配合的Plan B。 1.底线思...

网友评论

      本文标题:Scrollview+listview替代方案

      本文链接:https://www.haomeiwen.com/subject/nykgnltx.html