Android之ListView控件使用简单介绍
2015-12-15 10:55
555 查看
ListView控件是我们开发中出现频率最高的一个控件,比如listview的适配器结合json数据的展示,实现图文混排,缓存处理,性能优化等等。
ListView用来展示列表数据,ListView是一个视图组,可以展示列表滚动的数据。这些列表滚动的数据可以插到使用Adapter的list中(简单UI中有两个控件设计到Adapter:自动提示和Spinner),填充的数据资源可能来自一个数组或者是一个数据库查询的结果。
ListView也是用来展示数据的,特点是可以上下滚动,展示的数据分为一个一个item显示。
效果图1
如果设置listView的选中模式则加上
绑定点击事件
ListView用来展示列表数据,ListView是一个视图组,可以展示列表滚动的数据。这些列表滚动的数据可以插到使用Adapter的list中(简单UI中有两个控件设计到Adapter:自动提示和Spinner),填充的数据资源可能来自一个数组或者是一个数据库查询的结果。
ListView也是用来展示数据的,特点是可以上下滚动,展示的数据分为一个一个item显示。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.android_listview.MainActivity" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" > </ListView> </RelativeLayout>
<pre name="code" class="java">package com.example.android_listview; import java.util.ArrayList; import java.util.List; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends ActionBarActivity { private ListView listView; private ArrayAdapter<String> adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView=(ListView) this.findViewById(R.id.listView1); adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, getDataSource()); //listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//设置listView的选中模式为多选 //adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_multiple_choice, getDataSource()); //listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//设置listView的选中模式为单选 //adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_single_choice, getDataSource()); listView.setAdapter(adapter);//适配器用来接收数据源,填充数据 // listView.setOnItemClickListener(new OnItemClickListener() { // // @Override // public void onItemClick(AdapterView<?> parent, View view, int position, // long id) { // // TODO Auto-generated method stub // Toast.makeText(MainActivity.this, "--->>"+adapter.getItem(position), 1).show(); // } // });//绑定点击事件 } public List<String> getDataSource(){ List<String> list=new ArrayList<String>(); for(int i=0;i<30;i++){ list.add("ccnu"+i); } return list; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
效果图1
如果设置listView的选中模式则加上
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//设置listView的选中模式为多选对应的adapter改为
adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_multiple_choice, getDataSource());效果图2
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//设置listView的选中模式为单选对应的adapter改为
adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_single_choice, getDataSource());效果图3
绑定点击事件
listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "--->>"+adapter.getItem(position), 1).show(); } });//绑定点击事件效果图4
相关文章推荐
- Android setOnCreateContextMenuListener实现长按ListItem弹出不同菜单
- android开发中的优化及细节
- Android代码模拟按下Home键
- Fragment页面之间传值、基本例子演示、生命周期、兼容性
- Android spinner点击相同选项处理无法响应事件问题,暴力反射
- Android关于PagerAdapter的使用方法的总结
- Android ClipboardManager 使用注意
- Android Sqlite数据库跨版本升级 保存之前数据
- android java.lang.NoClassDefFoundError:xx.xx.xx
- android 修改键盘enter图标,设置搜索等图标
- error: neither -p product specified nor ANDROID_PRODUCT_OUT set
- Android Studio 快捷键
- Android记录一个setTextColor常见的一个bug
- intent启动activity和activity的task启动模式的关系与区别
- Grade 常用语法和结构(待整理)
- Android处理日期
- Android Studio基础之生成Apk(六)-学习篇
- Android内核开发:如何统计系统的启动时间
- 建立Android5.1.1编译环境
- Android Studio 快捷键