android listView 显示数据 单击 长按
来源:互联网 发布:大唐陌刀 知乎 编辑:程序博客网 时间:2024/05/16 02:52
参考:http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html
一、最简单的listView--ArrayAdapter
1、ArrayAdapter(Context context, int textViewResourceId, List<T> objects)
textViewResourceId:布局文件,可以是系统自带;
objects:泛型对象。
2、补充,ArrayList即动态数组,
例:
ArrayLIst List = new ArrayList();
for(int i=0;i<10;i++) List.add(i);
List.RemoveAt(5);
3、补充:为什么要用List list = new ArrayList();不用ArrayList list = ArrayList();
问题就在于List有多个实现类,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类,如 LinkedList或者Vector等等,这时你只要改变这一行就行了:
List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。
假设你开始用 ArrayList alist = new ArrayList(), 这下你有的改了,特别是如果你使用了 ArrayList特有的方法和属性。
http://www.cnblogs.com/aisiteru/articles/1151874.html
4、补充:泛型,类比c++模板 ,如list<string>
5、补充:类Activity中的setContentView(),android开发中如果想实现布局页面的跳转可以使用setContentView()设置跳转到需要的布局文件上面。
6、补充,
eclipse 编码时 代码上的横线今天再使用Eclipse编码时,发现有些变量或类名上有些莫名其妙的横线,如下图所示:
现在才知道这些横线的意思:这些横线标示出来的类或方法,说明是旧版本中的,当前版本不建议使用。
二、一般用于数据库SimpleCursorAdapter
public SimpleCursorAdapter (Context context, int layout, Cursor c, String[] from, int[] to)
后面两个参数,一个包含数据库的列的String型数组,一个包含布局文件中对应组件id的int型数组。其作用是自动的将String型数组所表示的每一列数据映射到布局文件对应id的组件上。
/**刷新listView*/
private void refreshLV()
{
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this ,null ,null ,1);//创建数据库
dbHelper.getReadableDatabase();
myCursor = dbHelper.getCursor();
SimpleCursorAdapter myAdapter=new SimpleCursorAdapter
(
MainActivity.this,
R.layout.main_vlist,
myCursor,
new String[]{DatabaseHelper.FIELD_ID,DatabaseHelper.FIELD_EVENT_NAME,DatabaseHelper.FIELD_REMIND_TIME},
new int[]{R.id.eventIdTV,R.id.eventNameTV,R.id.remindTimeTV} //该参数所代表的控件在第二个参数所代表的布局文件中定义
);
displayLV.setAdapter(myAdapter);
dbHelper.close();
}
/**刷新listView*/
三、单击ListView的某项
myListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
myCursor.moveToPosition(arg2);
_id = myCursor.getInt(0);
myEditText.setText(myCursor.getString(1));
}
});
四、长按(长按弹出AlertDialog)
private ListView displayLV;
displayLV.setOnItemLongClickListener(new OnItemLongClickListener()
{
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, final int arg2, long arg3)//arg2点击的item对应表中的_id,arg3被点击的行号
{
// TODO Auto-generated method stub
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this ,null ,null ,1);//创建数据库
dbHelper.getReadableDatabase();
myCursor = dbHelper.getCursor();
myCursor.moveToPosition(arg2);//移到数据库的第arg2行
final int deleteId = myCursor.getInt(0);//第0列第2行对应的id
dbHelper.close();
new AlertDialog.Builder(MainActivity.this)
.setTitle("删除提醒")
.setMessage
(
"确定删除" +
"<" +
myCursor.getString(myCursor.getColumnIndex(DatabaseHelper.FIELD_EVENT_NAME)) +
">?"
)
.setPositiveButton
(
"确定",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog,int which)
{
//结合myCursor.moveToPosition(arg2),myCursor.getInt(0)表示获取arg2行第0列对应的数据(该数据以整型返回,实际就是_id)
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this ,null ,null ,1);//创建数据库
dbHelper.delete(deleteId);
dbHelper.close();
refreshLV();
}
}
)
.setNegativeButton
(
"取消",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog,int which) { }
}
)
.show();
return true;
}
});
/**长按displayLV(listView)某项的响应*/
- android listView 显示数据 单击 长按
- 安卓ListView显示多个数据 单击的响应 长按弹出菜单
- android listview长按,单击各种事件捕捉
- ListView入门级单击,长按监听
- Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件
- Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件
- Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件
- Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件
- Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件
- Android 长按Listview显示CheckBox,实现批量删除。
- Android 长按Listview显示CheckBox,实现批量删除。
- Android 长按Listview显示CheckBox,实现批量删除。
- Android 长按Listview显示CheckBox,实现批量删除
- Android 长按Listview显示CheckBox,实现批量删除
- Android 长按Listview显示CheckBox,实现批量删除【转】
- ListView单击和长按弹出上下文菜单(ContextMenu)
- android ListView数据显示
- Android ListView数据显示
- Eclipse快捷键大全(转载)
- sqlite 增删改查附代码
- APK反编译破解方法与加密措施
- 添加删除路由
- openvpn成功配置思考
- android listView 显示数据 单击 长按
- ITeye 2012年8月最后一周重要新闻回顾
- android 输入对话框
- android 日期 时间对话框
- 磁盘 分区 学习
- vm 主机 文件复制
- openvpn成功配置再思考【路由】
- openvpn配置成功再思考(服务器)[路由]
- openvpn成功配置客户端配置文件