package com.bi.demo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private ListView listView1,listView2;
private TextView tv;
private List1Adapter adapter1; private int item;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); listView1= (ListView) findViewById(R.id.listView1);
listView2= (ListView) findViewById(R.id.listView2);
tv= (TextView) findViewById(R.id.tv); ArrayList <Lei>list1=new ArrayList<Lei>();
list1.add(new Lei("weocio",R.mipmap.ic_launcher));
list1.add(new Lei("cvnxmvm",R.mipmap.ic_launcher));
list1.add(new Lei("wwwww",R.mipmap.ic_launcher));
list1.add(new Lei("ckkkkkkm",R.mipmap.ic_launcher));
adapter1=new List1Adapter(this,list1); listView1.setAdapter(adapter1); listView1.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if(scrollState== AbsListView.OnScrollListener.SCROLL_STATE_IDLE) { View v=adapter1.getView(0, null, listView1);
v.measure(0, 0);
int itemHeight=v.getMeasuredHeight();
int total=getScrollY(); if((total%itemHeight)>(itemHeight/2))item++; //Log.d("xx",""+getScrollY());
//Log.d("xxy",itemHeight+"");
//listView1.setSelection(item); listView1.setSelection(item);
tv.setText("" + item); }
} @Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { /* View c = listView1.getChildAt(0);
int firstVisiblePosition = listView1.getFirstVisiblePosition();
Log.d("xx",firstVisiblePosition+"");
int top = c.getTop();
Log.d("xxy",top+"");
Log.d("xxyy", -top + firstVisiblePosition * c.getHeight() + "");
*/ item=firstVisibleItem; }
}); } public int getScrollY() {
View c = listView1.getChildAt(0);
if (c == null) { return 0; }
int firstVisiblePosition = listView1.getFirstVisiblePosition();
int top = c.getTop();//这里计算的是最上边能看到的item滑上去的距离
Log.d("xxy",top+"");
return -top + firstVisiblePosition * c.getHeight() ;
}
}

最新文章

  1. 对于shell脚本参数获取时的一点小技巧
  2. 高龄“潮男”优衣库老板柳井正_榜样_奢华主义_YOKA时尚网
  3. Codeforces Round #246 (Div. 2)
  4. APP上传APP Store遇到的各种问题
  5. Leetcode_12_Integer to Roman
  6. ASP.NET Core 系列目录
  7. freemark使用总结
  8. ChIP-seq 核心分析 下游分析
  9. Java 并发工具包 | J.U.C
  10. Three.js里自定义顶点构建三角形面的朝向问题
  11. 【转】Robot Framework用法总结
  12. Android : 基于alsa库的音乐播放
  13. Nginx配置资源下载目录
  14. XtraEditors五、SpinEdit、TimeEdit
  15. Android事件处理的2种方式:监听器与回调
  16. 20170716xlVba销售明细转销售单据
  17. ADB命令行工具使用
  18. C/C++ 函数指针 总结
  19. .Net4.0 任务(Task)[转]
  20. ny42 一笔画问题

热门文章

  1. Spring STS Call Hierarchy 查找不到被调用的信息
  2. javascript单线程那些事
  3. maven ,添加加密算法 apache commons-codec.jar 包
  4. Apache tica详述
  5. 13.Java国际化.md
  6. C# windows服务:如何检测指定的Windows服务是否启动
  7. Android计时器和倒计时
  8. spring boot 集成Thymeleaf
  9. Oracle ORA-00911: 无效字符
  10. CSS 盒子大小