如果我有一个用字符串数组填充的listview,请说:
Mazda
Renault
Holden
Audi
当我想点击一个项目,而不是返回字符串“Mazda”时,我宁愿返回一个相关的数字,例如马自达返回0,雷诺返回1等。
这是否可行,我会在查询时看到显着的性能提升 SQLite DB只使用整数而不是字符串?
谢谢, M
答案 0 :(得分:0)
logcat
打印它,它将获得你的list-item.you需要的每一个位置轻松处理数组
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Object o = this.getListAdapter().getItem(position);
String pen = o.toString();
Toast.makeText(this, "You have chosen the pen: " + " " + pen, Toast.LENGTH_LONG).show();
}
答案 1 :(得分:0)
您可以执行以下操作:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] MY_CARS = new STRING[] { Mazda, Renault, Holden, Audi };
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, MY_CARS));
ListView lv = (ListView)findViewById(R.id.MyListView);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), "Item at Position "+pos+" was clicked. This corresponds to "+MY_CARS[pos],
Toast.LENGTH_SHORT).show();
}
});
}
这应返回单击列表中项目的位置,该列表应该是数组的索引。
我不确定您是否会获得数据库性能的显着提升。