Giu*_*lio 4 android listview adapter
我正在开发一个Android应用程序,现在我已经实现了一个ListView,它显示了一个连接到数据库的课程列表.
我想知道如何用名称包含一个隐藏的id(来自db),这样一旦用户点击元素,app就会转到所选课程的相对视图.
如何在课程视图中导航期间保持id?
目前我的代码只是从db加载课程的名称并在列表视图中设置:
ArrayAdapter<String> result = new ArrayAdapter<String>(CourseActivity.this, android.R.layout.simple_list_item_1);
for (CourseRecord c : get())
result.add(c.getFullname());
lv.setAdapter(result);
Run Code Online (Sandbox Code Playgroud)
很明显我也能做c.getid(),但我不知道在哪里放id.
非常感谢你.
PS:也许有人也有一个非常好的列表视图图形?
Sam*_*uel 10
像这样更改你的数组适配器.
private ArrayAdapter<String> result = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
v.setTag(getMyIdForPosition(position));
return convertView;
}
};
Run Code Online (Sandbox Code Playgroud)
并有一个项目单击处理程序来接收选定的ID
private OnItemClickListener itemClickedHandler = new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id)
{
String myId = (String)v.getTag();
doYourStuff(myId);
}
};
Run Code Online (Sandbox Code Playgroud)
将侦听器分配给列表
myList= (ListView)findViewById(R.id.history);
myList.setOnItemClickListener(itemClickedHandler);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8561 次 |
| 最近记录: |