我想在单击特定行后从列表视图中获取项目 ID。
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
String UserInfo = listView.getItemAtPosition(i).toString();
Toast.makeText(getActivity(), UserInfo, Toast.LENGTH_SHORT).show();
return false;
}
});
如果您使用自定义适配器(循环模型(创建列表项,则可以获得如下所示的ID。 请粘贴更多代码以获得我们的想法。
UserInfo userInfo = (UserInfo) adapterView.getItemAtPosition(position);
Toast.makeText(getActivity(), userInfo.getId(), Toast.LENGTH_SHORT).show();
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
ModelClass ref = (ModelClass) listview.getItemAtPosition(i);
Toast.makeText(getActivity(), ref.getid, Toast.LENGTH_SHORT).show();
return false;
}
});
根据您的模型类,将模型类替换为模型类名称和 getid。
你需要一个"USERS"类,其中你应该有一个名为"id"的部分
class USERS{
String UserInfo;
int Userid;
}
当您从数据库中获取数据时,您必须将数据库中的 ID 初始化为 USERS 类实例
完成此操作后,您可以在Onclick方法中获取ID:
USERS User=userArraylist.getItemAtPosition(i); //here you get the data from your instance
int id=User.Userid
Toast.makeText(getApplicationContext(), id, Toast.LENGTH_SHORT).show();
如果你只是想要这个职位,那么 很容易:
Toast.makeText(getApplicationContext(), "User Id: "+i, Toast.LENGTH_SHORT).show();