android listview左右滑动分页(viewpager嵌套listview进行分页),焦点图带圆焦点

1、先上图后说话

2、代码

package com.example.exmp;

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

import android.content.Context;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class ListViewPagerAdapter extends PagerAdapter{
	Context context;

	List<View> mListViewPager = new ArrayList<View>(); // ViewPager对象的内容
	List<String> list = new ArrayList<String>();
	List<List<String>> lcontant = null;
	int pageNum = 1;
	CustomIndicator mCustomIndicator;
	int pageRows=5;

	/**
	 *
	 * @param context 活动窗体
	 * @param kf 数据
	 * @param customIndicator 圆点控件
	 * @param rows 每页显示多少条数据
	 */
	public ListViewPagerAdapter(final Context context, List<String> kf,CustomIndicator customIndicator,int rows) {
		this.mCustomIndicator=customIndicator;
		this.pageRows=rows;
		int count = 0;  //循环次数
		int pos = 0;		//当前位置

		this.context = context;
		this.list = kf;
		//计算页数
		pageNum = (int) Math.ceil(list.size() / pageRows);
		int a=list.size() % pageRows;
		if (a>0) {
			pageNum=pageNum+1;
		}

		mCustomIndicator.setCount(pageNum);
		Log.d("hx2", String.valueOf(pageNum));
		if (Math.ceil(kf.size() / pageRows) == 0) {
			pageNum = 1;
		}
		lcontant = new ArrayList<List<String>>();
		for (int i = 0; i < pageNum; i++) {
			Log.d("hx2", String.valueOf(i));
			List<String> item = new ArrayList<String>();
			for(int k = pos;k<kf.size();k++){
				count++;
				pos = k;
				item.add(kf.get(k));
				//每个List六条记录,存满N个跳出
				if(count == pageRows){
					count = 0;
					pos = pos+1;
					break;
				}
			}
			lcontant.add(item);
		}

		for (int j = 0; j < pageNum; j++) {
			View viewPager = LayoutInflater.from(context).inflate(
					R.layout.list, null);
			ListView mList = (ListView) viewPager.findViewById(R.id.wifi_list);
			final Myadapter myadapter=new Myadapter(context, lcontant.get(j));
			mList.setAdapter(myadapter);
			mListViewPager.add(viewPager);
			mList.setOnItemClickListener(new OnItemClickListener() {

				@Override
				public void onItemClick(AdapterView<?> parent, View view,
						int position, long id) {

					final TextView content=(TextView) view.findViewById(R.id.ssid);
					Toast.makeText(context, "点击到"+content.getText(), Toast.LENGTH_LONG).show();

				}
			});
		}

	}

	@Override
	public boolean isViewFromObject(View arg0, Object arg1) {
		return arg0 == arg1;
	}

	@Override
	public int getCount() {
		return mListViewPager.size();
	}

	@Override
	public Object instantiateItem(View container, int position) {
		((ViewPager) container).addView(mListViewPager.get(position));
		return mListViewPager.get(position);

	}

	@Override
	public void restoreState(Parcelable arg0, ClassLoader arg1) {

	}

	@Override
	public Parcelable saveState() {
		return null;
	}

	@Override
	public void startUpdate(View arg0) {
	}

	@Override
	public void destroyItem(View container, int position, Object arg2) {
		ViewPager pViewPager = ((ViewPager) container);
		pViewPager.removeView(mListViewPager.get(position));
	}

	@Override
	public void finishUpdate(View arg0) {
		// TODO Auto-generated method stub
	}

}

3、先敬告学者:如在此项目上运行不了的或者关于本项目的问题可以直接找到本人QQ:508181017,这是在别人的基础上修改自己想要的东西!

4、下载地址:待会会上传

android listview左右滑动分页(viewpager嵌套listview进行分页),焦点图带圆焦点,布布扣,bubuko.com

时间: 2024-12-26 07:07:15

android listview左右滑动分页(viewpager嵌套listview进行分页),焦点图带圆焦点的相关文章

一起学android之解决在scrollview中嵌套ListView切换界面时scrollview整体向下滑动(31)

有时候我们在scrollview中会嵌套ListView,在嵌套ListView(ListView上面还有一些控件)后,切换Activity时会发现整个 scrollview 想下滑动直到ListView置顶了,而上面的控件无法显示时,我们可以这样做: 将图中的View放在顶部,最后在代码中这样做: view.setFocusable(true); view.setFocusableInTouchMode(true); view.requestFocus(); 通过setFocusable和se

ViewPager 嵌套Listview 让Listview响应 ViewPager 左右滑事件

一段拦截判断而已.   之前一直误解了一个拦截的描述.导致搞了半天. 结论: onInterceptTouchEvent 返回true,就由本身View的onTouchEvent进行事件消费. /** 在控件中 左右滑时 强制拦截事件的ViewPager * Created by user on 2016/3/7. */ public class MyViewPager extends ViewPager { private String TAG = "MyViewPager"; pr

ScrollView中嵌套ListView时,listview高度显示的问题

方法一:直接更改listview的控件高度,动态获取(根据条目和每个条目的高度获取) 前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView.但刚开始的时候,会发现放入的小ListView会显示不完全,它的高度始终有问题.上网查了下,发现别人也有遇到这样的问题,而大多数人都不推荐这样的设计,因为默认情况下Android是禁止在ScrollView中放入另外的ScrollView的,它的高度是无法计

scrollview里面嵌套listview的坑

scrollview里面嵌套listview是一种很不好的做法,最好还是使用一个listview,将其他需要滑动的部分添加为头布局脚部局,或者在adapter里面将头脚用一个标志位去判断作为单独的item,这样性能是最完好的,不容易出现bug. 当然了,难免有人会用到的,会出现只显示一个item的bug,解决办法有两种.一种是自定义一个WrapContentListview,很简单的继承自Listview,只需要重写OnMeasure方法 public class WrapContentList

关于ScrollView嵌套ListView

今天工作中需要这个,以前也写过这样的需求但是没有记录下来,今天趁机记录一下.也希望对大家工作有帮助!谢谢. 来电与主题无关的,要实现ScrollView滚动条的隐藏,有两种方法, 一种是在XML的ScrollView布局中加入属性android:scrollbars="none" 另一种则是在代码中获取ScrollView后进行scroll.setVerticalScrollBarEnabled(false); 下面来说下ScrollView如何嵌套ListView 按常理,Scrol

android ScrollView 嵌套 ListView 不让listView滑动

1.重写listview的onMeasure() /** * 解决listview高度显示不正确 */ public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, exp

【Android - 问题解决】之ScrollView嵌套ListView时总是自动滑动到ListView顶部的问题

最近做了一个项目,里面有一个ScrollView嵌套ListView的布局. 做出来之后发现,进入这个界面之后,总是自动滑动到ListView的顶部,而ScrollView中位于ListView上面的一些控件就被挤到屏幕外面去了. 解决这个问题的方法如下: 在JAVA代码中,调用ScrollView对象的这个方法: scrollView.smoothScrollTo(0, 0);

解决ViewPage中嵌套有ListView或者滑动手势等造成滑动的冲突

public class ViewPagerCompat extends ViewPager { //mViewTouchMode表示ViewPager是否全权控制滑动事件,默认为false,即不控制 private boolean mViewTouchMode = false; public ViewPagerCompat(Context context, AttributeSet attrs) { super(context, attrs); } public void setViewTou

Android 开源项目android-open-project解析之(一) ListView,ActionBar,Menu,ViewPager,Gallery

一.ListView android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView.ViewPager.WebView.ExpandableListView.GridView.ScrollView.Horizontal ScrollView.Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多.并且它实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好. 项目地址:ht