TEL:400-8793-956
当前位置:程序、服务器

禁用列表滚动,并允许整个页面滚动

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-28 14:35:35

 问:我目前正在开发一个android应用程序,它在main活动中具有列表视图。我想要的是禁用列表滚动并仅允许整个页面滚动,是否有任何方法可以帮助您……..我尝试了以下方法,但抛出了“ java.lang.NullPointerException:我正在使用在Android Studio IDE中

 
我使用的方法1 ::
 
ViewGroup.LayoutParams listViewParams =(ViewGroup.LayoutParams)listView.getLayoutParams();
         listViewParams.height = 400 +(listView.getDividerHeight()*(listView.getCount()-1));
int height = 0;
for(int i = 0; i <listView.getChildCount(); i ++){
 高度+ = listView.getChildAt(i).getMeasuredHeight();
  高度+ = listView.getDividerHeight();
    }
Log.w(“ Height”,“” + listView.getHeight()+ height);
listViewParams.height = listView.getHeight()+高度;
  listView.requestLayout();
异常处理:
 
ava.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'int android.view.View.getImportantForAccessibility()'
 
我使用的方法2:
 
ListAdapter myListAdapter = myListView.getAdapter(); if(myListAdapter == null){//不执行返回null返回;
}
//在循环中设置listAdapter以获取最终的大小int totalHeight = 0;
for(int size = 0; size <myListAdapter.getCount(); size ++){
 查看listItem = myListAdapter.getView(size,null,myListView);
listItem.measure(0,0); totalHeight + = listItem.getMeasuredHeight();
}
//在adapterViewGroup.LayoutParams中设置listview项目params = myListView.getLayoutParams();
params.height = totalHeight +(myListView.getDividerHeight()*(myListAdapter.getCount()-1));
myListView.setLayoutParams(params);
//在日志上打印适配器的高度
Log.i(“ listItem:的高度,”,String.valueOf(totalHeight));
异常处理:
 
空对象引用上的“ void android.view.View.measure(int,int)”
 
 
答:刚刚设置:
android:nestedScrollingEnabled =“ false”
 
在父级的xml中
上一篇: 提交表单后,悬停在字段上的Ser错误消息淡出。
下一篇: 仅在“开关”为“开”时在“列表视图”中显示内容