阅读背景:

Android ListView点击展开收起效果

来源:互联网 

先看下效果

public class MainActivity extends Activity {
	private MyAdapter myAdapter;
	private ListView listView;
	private List<String> list;
	private View footView;
	private ImageView ivDown;
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		listView = (ListView) findViewById(R.id.listview);
		// 获得页脚布局
		footView = getLayoutInflater().inflate(R.layout.view_foot, null);
		ivDown = (ImageView) footView.findViewById(R.id.iv_down);
 
		initData();
 
		initEvent();
	}
 
	/**
	 * 初始化数据
	 */
	private void initData() {
		// 初始化模拟数据
		simulateData();
 
		// 添加页脚视图
		listView.addFooterView(footView);
		ivDown.setImageDrawable(getResources()
				.getDrawable(R.drawable.icon_down));
 
		// 适配
		myAdapter = new MyAdapter(MainActivity.this, list);
		listView.setAdapter(myAdapter);
	}
 
	/**
	 * 初始化点击事件
	 */
	private void initEvent() {
		ivDown.setOnClickListener(new OnClickListener() {
 
			@Override
			public void onClick(View view) {
				// 判断getCount()数据的数量,如果等于3点击后就设置getCount()为全部数量,设置修改标识,刷新。
				// 否则,相反。
				if (myAdapter.getCount() == 3) {
					myAdapter.addItemNum(list.size());
					ivDown.setImageDrawable(getResources().getDrawable(
							R.drawable.icon_up));
					myAdapter.notifyDataSetChanged();
				} else {
					myAdapter.addItemNum(3);
					ivDown.setImageDrawable(getResources().getDrawable(
							R.drawable.icon_down));
					myAdapter.notifyDataSetChanged();
				}
			}
		});
	}
 
	/**
	 * 模拟数据
	 * 
	 * @return
	 */
	private List<String> simulateData() {
		list = new ArrayList<String>();
		for (int i = 0; i < 10; i++) {
			String circleStr = "蓝色威尼斯城" + (i + 1) + "座";
			list.add(circleStr);
		}
		return list;
	}
 
}public class MainActivity ex



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: