如何在使用smoothScrollToPosition时使listview不可滚动

时间:2015-11-19 06:12:33

标签: android listview android-listview smooth-scrolling

我的Activity中有2个listviews(比如list1和list2),其中包含相同的元素,但list1的高度很小,一次只显示1个项目,list2大小为match_parent并显示每个项目。当我在列表中添加任何元素时,它会同时添加两个列表视图。

我想要做的是,我想让我的list1每次都不可滚动,当我点击list2的任何项目时,list1应该抓住该位置并滚动直到该项目。

我使用了以下代码,但即使在制作list1

之后也是如此
setScrollContainer(false);

它仍然使我的listview可滚动。但是,

smoothScrollToPosition(true);

工作正常。

 ListView list1= (ListView) findViewById(R.id.inflated_ll);
 list1.setAdapter(adapter);
 list1.setVisibility(View.VISIBLE);
 list1.setScrollContainer(false);
 adapter.notifyDataSetChanged();

 scanAdapter = new ScanItemAdapter();
 ListView list2= (ListView) findViewById(R.id.inflated_ll2);
 list2.setAdapter(scanAdapter);
 scanAdapter.notifyDataSetChanged();

 listView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int posi,long pos) {

            ListView list1= (ListView) findViewById(R.id.inflated_ll);
            list1.setScrollContainer(true);
            list1.smoothScrollToPosition(posi);
            list1.setScrollContainer(false);
        }

    }); 

0 个答案:

没有答案