用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - android代码库

ScrollView嵌套ListView

2016-12-16 作者: cwm1996举报

[android]代码库

package com.example.day_16_demo;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

    private ListView listView;

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView) findViewById(R.id.listview);
        List<String> list=new ArrayList<String>();
        for (int i = 0; i < 10000; i++) {
			list.add("测试数据"+i);
		}
        //listView.setDividerHeight(Integer.MAX_VALUE);
        Adapter  adapter=new Adapter(list, MainActivity.this);
        listView.setAdapter(adapter);
        listView();
        
        
    }
	public void listView(){
		//获取适配器
		BaseAdapter adapter=(BaseAdapter) listView.getAdapter();
		//判空
		if(adapter==null){
			return;
		}
		int num=0;
		//获取适配器中条目总数
		int count=adapter.getCount();
		for (int i = 0; i <count; i++) {
			//获取每个条目listItem
			View listItem=adapter.getView(i, null, listView);
			//计算每个条目listItem高度
			listItem.measure(0, 0);
			//计算所有条目的总高度
			num=num+listItem.getMeasuredHeight();
		}
		//listView.getDividerHeight()获取条目间分隔符高度
		//params.height获取整个listView总高度
		ViewGroup.LayoutParams params=listView.getLayoutParams();
		params.height=num+(listView.getDividerHeight()*(adapter.getCount()-1));
		//设置高度
		listView.setLayoutParams(params);
	}
    
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...