汉字找茬王逃离疯人院怎么过关 过关攻略
大家好,我是云百科的客服小柏,我来为大家解答以上问题。android,listview,分页显示,android,ListView分页展示很多人还不知道,现在让我们一起来看看吧!
解答:
1、新建一个机器人项目,名称为ListViewAutoPage,其他参数可以自己配置,点击完成
2、首先在布局文件夹下声明listviewinfo.xml,作为列表视图的主要样式。其内容如下:
3、?可扩展标记语言版本='1.0 '编码='utf-8 '?
4、线性布局xmlns : Android=' https://模式。安卓。' com/apk/RES/Android '
5、Android : layout _ width=' fill _ parent '
6、Android : layout _ height=' fill _ parent '
7、Android :方向='垂直'
8、列表视图
9、Android : id=' @ id/listview info '
10、Android : layout _ width=' fill _ parent '
11、Android : layout _ height=' wrap _ content '
12、/列表视图
13、/线性布局
14、声明列表中各个选项的信息展示,listITem.xml定义在布局文件夹下,其内容如下:
15、?可扩展标记语言版本='1.0 '编码='utf-8 '?
16、线性布局xmlns : Android=' https://模式。安卓。' com/apk/RES/Android '
17、Android :方向='垂直'
18、Android : layout _ width=' fill _ parent '
19、Android : layout _ height=' fill _ parent '
20、带边框的
21、android:id='@ id/listItem '
22、Android : layout _ width=' fill _ parent '
23、Android : layout _ height=' fill _ parent '
24、android:gravity重力重力='中心'
25、android:paddingTop='10dp '
26、Android : padding bottom=' 10dp '/
27、/线性布局
28、设置"加载更多"按钮的样式文件,loadmore.xml。其内容是:
29、?可扩展标记语言版本='1.0 '编码='utf-8 '?
30、线性布局xmlns : Android=' https://模式。安卓。' com/apk/RES/Android '
31、Android :方向='垂直'
32、Android : layout _ width=' fill _ parent '
33、Android : layout _ height=' fill _ parent '
34、纽扣
35、android:id='@ id/moreButton '
36、Android : layout _ width=' fill _ parent '
37、Android : layout _ height=' wrap _ content '
38、android:text='加载更多' /
39、/线性布局
40、自定义适配器的实现ListViewAutoAdapter继承基本适配器,其实现如下:
41、公共类ListViewAutoAdapter扩展基本适配器{
42、//定义结果集
43、私有静态映射整数,查看结果
44、 private List<String> items;
45、 private LayoutInflater inflater; //布局信息
46、 //构造函数,参数初始化
47、 public ListViewAutoAdapter(List<String> items, Context context) {
48、 super();
49、 this.items = items;
50、 this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
51、 }
52、@Override
53、public int getCount() {
54、// TODO Auto-generated method stub
55、return items.size();
56、}
57、@Override
58、public Object getItem(int position) {
59、// TODO Auto-generated method stub
60、return items.get(position);
61、}
62、@Override
63、public long getItemId(int position) {
64、// TODO Auto-generated method stub
65、return position;
66、}
67、@Override
68、public View getView(int position, View contentView, ViewGroup arg2) {
69、// TODO Auto-generated method stub
70、//从数组中获取元素,如果view为空,则填充相应文本信息
71、contentView=result.get(position);
72、 if(contentView==null){
73、 contentView=inflater.inflate(R.layout.listitem, null);
74、 //找到TextView ,进行文本赋值
75、 TextView text=(TextView) contentView.findViewById(R.id.listItem);
76、 //设置文本显示的内容
77、 text.setText(items.get(position));
78、 }
79、 result.put(position, contentView);
80、 return contentView;
81、}
82、public void addItem(String item) {
83、 items.add(item);
84、 }
85、}
86、ListViewAutoPageShow主体函数实现:
87、public void onCreate(Bundle savedInstanceState) {
88、 super.onCreate(savedInstanceState);
89、 setContentView(R.layout.listviewinfo);
90、 //控件初始化
91、 loadMoreView = getLayoutInflater().inflate(R.layout.loadmore, null);
92、 moreButton = (Button) loadMoreView.findViewById(R.id.moreButton);
93、 moreButton.setonClickListener(new onClickListener() {
94、
95、 @Override
96、 public void onClick(View v) {
97、 // TODO Auto-generated method stub
98、 moreButton.setText("正在加载..."); //设置按钮文字loading
99、 //执行加载数据的线程
100、 handler.postDelayed(new Runnable() {
101、 @Override
102、 public void run() {
103、
104、 loadData();
105、
106、 adapter.notifyDataSetChanged(); //数据集变化后,通知adapter
107、 // listView.setSelection(visibleLastIndex - visibleItemCount + 1); //设置选中项
108、
109、 moreButton.setText("加载更多"); //恢复按钮文字
110、 }
111、 }, 1000);
112、 }
113、 });
114、
115、 listView = (ListView) this.findViewById(R.id.listViewInfo);
116、
117、 listView.addFooterView(loadMoreView); //设置列表底部视图
118、 //初始化数据适配器
119、 initAdapter();
120、 listView.setAdapter(adapter); //自动为id是list的ListView设置适配器
121、 listView.setonScrollListener(this); //添加滑动监听
122、 //按钮被选中的时候 触发的操作
123、 listView.setonItemClickListener(new onItemClickListener() {
124、@Override
125、public void onItemClick(AdapterView<?> arg0, View arg1, int position,
126、long arg3) {
127、// TODO Auto-generated method stub
128、//展示列表被选中的结果
129、Toast.makeText(getApplicationContext(), items.get(position),Toast.LENGTH_SHORT).show();
130、}
131、 });
132、 }
133、
136、 private void initAdapter() {
137、
138、 for (int i = 0; i < 10; i++) {
139、 items.add("第"+String.valueOf(i + 1)+"个选项");
140、 }
141、 adapter = new ListViewAutoAdapter(items,this);
142、 }
143、@Override
144、public void onScroll(AbsListView view, int firstVisibleItem,
145、int visibleItemCount, int totalItemCount) {
146、// TODO Auto-generated method stub
147、
148、}
149、@Override
150、public void onScrollStateChanged(AbsListView view, int scrollState) {
151、// TODO Auto-generated method stub
152、
153、 if (scrollState == OnScrollListener.SCROLL_STATE_IDLE ) {
154、 //如果是自动加载,可以在这里放置异步加载数据的代码
155、 Log.i("LOADMORE", "loading...");
156、 }
157、}
158、
161、 private void loadData() {
162、 int count = adapter.getCount();
163、 for (int i = count; i < count + 10; i++) {
164、 adapter.addItem("第"+String.valueOf(i + 1)+"个选项");
165、 }
166、 }
167、程序书写完毕之后,开始运行程序,观察实验结果
本文到此讲解完毕了,希望对大家有帮助。
会员:何同华