listview.setselection(position)不起作用

来源:互联网 发布:rimworld mac下载 编辑:程序博客网 时间:2024/05/16 23:42

       listview.setselection(position)不起作用的原因网上也有解释,大多数 就是你的Adapter还没有加载完,你就去setselection()这个一定是没有效果的。那么大多数的解决办法就是用handler 做一个延时操作。

 private Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            switch (msg.what) {                case 1001:                    mListView1.setSelection(2);//                    listAdapter.setIsSelected(2);                    Log.d("log", "handleMessage: 执行了吗?");//运行试试ok稍等  有点慢 我在试试                    break;            }        }    };    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        initlisteone();        handler.sendEmptyMessageDelayed(1001, 8000);//这里的时间你可以按照自己的项目 进行调整        listAdapter.setIsSelected(2);    }


这个办法会帮助大多数人解决这个 mListView1.setSelection(2); 没有效果的问题,但是 我就偏偏遇到另一个坑,项目当中 的list item数量 正好屏幕能装满 listview没有滑动效果 ,这样的话 即使你成功的 设置那那个方法 但是你也不会看到效果 哈哈 这里标记一下吧  好坑

0 0
原创粉丝点击