package com.szy.listview;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import com.szy.listview.dao.PersonDAO;
/**
* @author coolszy
* @blog http://blog.csdn.net/coolszy
*/
public class PersonActivity extends Activity
{
ListView lvPerson;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.person);
PersonDAO personDAO = new PersonDAO(this);
Cursor cursor = personDAO.getPersons();
lvPerson = (ListView) findViewById(R.id.lvPerson);
// SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.person_item, cursor, new String[]
SimpleCursorAdapter adapter = new PersonAdapter(this, R.layout.person_item, cursor,
new String[]{ "_id", "pname", "pgender" },
new int[]{ R.id.tvPid, R.id.tvPname, R.id.ivPgender });
lvPerson.setAdapter(adapter);
lvPerson.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Cursor cursor = (Cursor) parent.getItemAtPosition(position);
Toast.makeText(PersonActivity.this, cursor.getString(1), Toast.LENGTH_SHORT).show();
}
});
}
}
class PersonAdapter extends SimpleCursorAdapter
{
private Cursor mCursor;
protected int[] mFrom;
protected int[] mTo;
private ViewBinder mViewBinder;
public PersonAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
{
super(context, layout, c, from, to);
mCursor = c;
mTo = to;
findColumns(from);
}
@Override
public void bindView(View view, Context context, Cursor cursor)
{
final ViewBinder binder = mViewBinder;
final int count = mTo.length;
final int[] from = mFrom;
final int[] to = mTo;
for (int i = 0; i < count; i++)
{
final View v = view.findViewById(to[i]);
if (v != null)
{
boolean bound = false;
if (binder != null)
{
bound = binder.setViewValue(v, cursor, from[i]);
}
if (!bound)
{
String text = cursor.getString(from[i]);
if (text == null)
{
text = "";
}
if (v instanceof TextView)
{
setViewText((TextView) v, text);
} else if (v instanceof ImageView)
{
if (text.equals("男"))
{
setViewImage((ImageView) v, String.valueOf(R.drawable.boy));
}
else
{
setViewImage((ImageView) v, String.valueOf(R.drawable.girl));
}
} else
{
throw new IllegalStateException(v.getClass().getName() + " is not a " + " view that can be bounds by this SimpleCursorAdapter");
}
}
}
}
}
private void findColumns(String[] from)
{
if (mCursor != null)
{
int i;
int count = from.length;
if (mFrom == null || mFrom.length != count)
{
mFrom = new int[count];
}
for (i = 0; i < count; i++)
{
mFrom[i] = mCursor.getColumnIndexOrThrow(from[i]);
}
} else
{
mFrom = null;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android应用源码之34.ListView控件学习.zip项目安卓应用源码下载
共44个文件
class:16个
java:7个
xml:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 152 浏览量
2022-03-07
20:07:05
上传
评论
收藏 252KB ZIP 举报
温馨提示
Android应用源码之34.ListView控件学习.zip项目安卓应用源码下载Android应用源码之34.ListView控件学习.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
资源详情
资源评论
资源推荐
收起资源包目录
Android应用源码之34.ListView控件学习.zip (44个子文件)
Android应用源码之34.ListView控件学习
Android应用源码之34.ListView控件学习
34.ListView控件学习
src
28.ListViewDemo
AndroidManifest.xml 1KB
res
layout
person.xml 1KB
person_item.xml 896B
list_item.xml 261B
main.xml 511B
drawable-ldpi
icon.png 2KB
drawable-mdpi
boy.jpg 14KB
girl.jpg 15KB
bg.jpg 18KB
icon.png 3KB
line.jpg 13KB
drawable-hdpi
icon.png 4KB
values
strings.xml 441B
proguard.cfg 1KB
src
com
szy
listview
MainActivity.java 1KB
dao
DBOpenHelper.java 2KB
PersonDAO.java 1KB
Person.java 879B
PersonActivity.java 3KB
bin
com
szy
listview
PersonDAOTest.class 1KB
PersonActivity$1.class 1KB
dao
PersonDAO.class 2KB
DBOpenHelper.class 2KB
Person.class 1KB
MainActivity$1.class 1KB
R.class 563B
PersonAdapter.class 3KB
MainActivity.class 1KB
R$layout.class 486B
R$attr.class 334B
R$id.class 473B
R$array.class 396B
R$string.class 421B
PersonActivity.class 2KB
R$drawable.class 503B
classes.dex 11KB
28.ListViewDemo.apk 81KB
resources.ap_ 74KB
.classpath 323B
assets
default.properties 362B
.project 851B
gen
com
szy
listview
R.java 1KB
test
com
szy
listview
PersonDAOTest.java 833B
doc
34.ListView控件学习.ppt 226KB
video
共 44 条
- 1
yxkfw
- 粉丝: 76
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0