我有一个 ScrollView 内 ListView 的代码。工作正常。但是当应用程序启动时,焦点总是放在 ListView 的第一条记录中。
我的模式是:
- 单选按钮
- 谷歌地图
- ListView
如果我不放 ScrollView , ListView 会非常小
我放了执行它的代码:
public class Helper {
public static void getListViewSize(ListView myListView) {
ListAdapter myListAdapter = myListView.getAdapter();
if (myListAdapter == null) {
return;
}
//set listAdapter in loop for getting final size
int totalHeight = 0;
for (int size = 0; size < myListAdapter.getCount(); size++) {
View listItem = myListAdapter.getView(size, null, myListView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
//setting listview item in adapter
ViewGroup.LayoutParams params = myListView.getLayoutParams();
params.height = totalHeight + (myListView.getDividerHeight() * (myListAdapter.getCount() - 1));
myListView.setLayoutParams(params);
// print height of adapter on log
Log.i("height of listItem:", String.valueOf(totalHeight));
}
}
最佳答案
您可以重写适配器中的 isEnabled(int position) 方法并返回 false,这样焦点将不再位于 ListView 项中。
@Override
public boolean isEnabled(int position) {
return false;
}
关于android - 关注listview的第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21136418/