listview相关设置

android:divider="@null" 两个上下相邻item之间的分割置空android:dividerHeight 这个属性是上下相邻的item间的距离android:divider="#fffff"  分割线颜色android:dividerHeight="1dp"  分割线高度

Listview和Scrollview冲突问题
在用到Scrollview中嵌套listview时,listview只能显示一个item的问题
原文网址:
http://blog.csdn.net/wulianghuan/article/details/8627958

public static void setListViewHeightBasedOnChildren(ListView listView) {        ListAdapter listAdapter = listView.getAdapter();        if(listAdapter == null) {            return;        }        int totalHeight = 0;        for(int i = 0, len = listAdapter.getCount(); i < len; i++) {             View listItem = listAdapter.getView(i, null, listView);            listItem.measure(0, 0);             totalHeight += listItem.getMeasuredHeight();         }        ViewGroup.LayoutParams params = listView.getLayoutParams();        params.height = totalHeight                + (listView.getDividerHeight() * (listAdapter.getCount() - 1));        listView.setLayoutParams(params);    }

Scrollview显示不在顶端的问题

listview.setFocusable(false);

Scrollview中有其他滑动控件时也一样

通过OnScrollListener实现上拉刷新,下拉加载

package com.example.think.listview;import android.app.Activity;import android.os.Bundle;import android.widget.AbsListView;import android.widget.ListView;import java.util.ArrayList;import java.util.List;public class MainActivity extends Activity {private List<String> list;private ListView listView;private String str = "测试数据";private int i = 0;private boolean flage = false;private Adapter adapter;private int firstItem;private int lastItem;/** * 当前list size **/private int count;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);listView = (ListView) findViewById(R.id.listview);adapter = new Adapter(MainActivity.this);list = adapter.getList();for (int a = 0; a <= 4; a++) {            add();        }        add();listView.setAdapter(adapter);listView.setOnScrollListener(new AbsListView.OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {/* * scrollState值: * 当屏幕停止滚动时为SCROLL_STATE_IDLE = 0; * 当屏幕滚动且用户使用的触碰或手指还在屏幕上时为SCROLL_STATE_TOUCH_SCROLL = 1; * 由于用户的操作,屏幕产生惯性滑动时为SCROLL_STATE_FLING = 2 */                // 当滚动停止且滚动的总数等于数据的总数,上拉加载if (lastItem == count && scrollState == SCROLL_STATE_IDLE) {//此处进行加载数据的操作add();return;                }// 当往下拉操作if (firstItem == 0 && scrollState == SCROLL_STATE_IDLE) {                    adda();                }            }@Overridepublic void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {//firstVisibleItem 表示屏幕中第一条数据在adapter中的位置//visibleItemCount 表示屏幕中最后一条数据在adapter中的位置//totalItemCount 表示adapter中的总条数lastItem = firstVisibleItem + visibleItemCount;// 计算出lastitem的值firstItem = firstVisibleItem;// 同样拿出lastitem的值}        });    }private void add() {for (int i = 0; i < 5; i++) {list.add(str + this.i);this.i++;        }count = list.size();adapter.notifyDataSetChanged();    }private void adda() {        List<String> list1 = new ArrayList<>();for (int i = 0; i < 5; i++) {            list1.add(str + this.i);this.i++;        }for (int a = 0; a < list.size(); a++) {            list1.add(list.get(a));        }list.clear();for (int a = 0; a < list1.size(); a++) {list.add(list1.get(a));        }count = list.size();adapter.notifyDataSetChanged();    }}

更多相关文章

  1. android 获取屏幕分辨率
  2. [Android Pro] 完美Android Cursor使用例子(Android数据库操作)
  3. Android实现插件化(热加载)和插件加密
  4. Android 数据存储与读取:SQLite
  5. android手机屏幕适配方法
  6. 使用ProgressBar实现加载进度条
  7. Android联系人数据库全
  8. Android存储数据到本地文件

随机推荐

  1. Android仿微信进度弹出框的实现方法
  2. Android日历周视图 可添加事件标记
  3. Android自定义ViewGroup神器-ViewDragHel
  4. android开发【四】简单实现天气预报
  5. Android手写板
  6. Android中Listview实现分页加载效果OnScr
  7. Tasks and Back Stack任务与返回堆
  8. Androidpn推送解决方案
  9. 如何展现Activity Indicator
  10. android 取消RTC闹钟程序