我从我的 sql lite 数据库中获取数据,该数据库显示在列表视图中。现在,一旦用户单击列表视图,我希望自动获取所有详细信息,并且应该在文本字段中进行限制例如,假设我有一个客户列表数据库,其中包含名称区域地址移动和 id 作为主键. 现在,当我从我的应用程序中搜索名称为 john 时,列表视图将显示我数据库中所有 jhons 的一些选定详细信息。现在,一旦用户单击其中一个 jhon,我希望他的详细信息被限制在我的文本字段中。我希望我已经清除了我想要的东西。如果没有,请随意询问请任何人帮助我,提前谢谢你。
问问题
171 次
3 回答
0
您使用什么代码从 listview 获取数据
为您的列表视图创建一个行 xml 绑定 baseAdapter 中的行并将该 baseadapter 设置为列表视图它将显示在列表视图中
于 2013-02-07T07:04:16.727 回答
0
编辑
首先,确保您正确地创建了游标,也就是说,确保您将要访问的列通过正确的投影在查询语句中声明。ü
public static final String [] projection= {
Database.Customers.Media._ID,
Database.Customers.Media.NAME,
Database.Customers.Media.PHONE,
Database.Customers.Media.EMAIL,
Database.Customers.Media.ADDRESS,
};
通过查询传递:
Cursor cursor = mContentResolver.query(uri, projection, selection, selectionArgs, sortOrder);
然后到适配器:
mAdapter = new YourCustomerAdapter(getActivity(),
R.layout.custom_list_view_layout,
mCursor,
from, to,
SampleCursorAdapter.NO_SELECTION);
如果您自定义适配器代码,您的 from 和 to 真的无关紧要。但是,如果您使用库存适配器,它们将限制您的数据。
客户绑定:
@Override
public void bindView(View view, Context context, Cursor cursor) {
ViewHolder mHolder = (ViewHolder) view.getTag();
if (mHolder == null) {
mHolder = new ViewHolder();
mHolder.name= (TextView) view.findViewById(R.id.list_item_name);
mHolder.phone = (TextView) view.findViewById(R.id.list_item_phone);
}
mHolder.name.setText(cursor.getString(1));
mHolder.phone .setText(cursor.getString(2));
}
您要填充的 uiItems 越多,您将通过 onBind 初始化的越多,然后将光标数据关联到它们。
如果您尝试访问列索引或未在投影中定义的列,这意味着它不是游标的一部分,那么您将收到运行时错误。
于 2013-02-07T07:09:51.520 回答
0
试试这个:
my_listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
于 2013-02-07T07:34:10.783 回答