android - 需要使用自定义适配器和上下文菜单从列表视图中获取项目
问题描述
例如,我需要获取列表中的第二个患者,它始终是第一个位置,而我的 int 始终为 0,当我单击任何位置时,无法获得真实位置,这是我的代码:
public void setupGUI() {
listView = findViewById(R.id.listView);
if (getIntent().getParcelableExtra(Constants.PARCELABLE_TAG) != null) {
user = getIntent().getParcelableExtra(Constants.PARCELABLE_TAG);
GetDoctor gd = new GetDoctor(DoctorMenu.this, user.getId(), user.getToken());
gd.execute();
if (user != null) {
userToken = user.getToken();
FillPatientsTask fpt = new FillPatientsTask(DoctorMenu.this, this, userToken, null);
fpt.execute();
} else {
userToken = "";
Toast.makeText(this, "User was null", Toast.LENGTH_SHORT).show();
}
}
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
numberPatient = position;
}
});
registerForContextMenu(listView);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
AdapterView.AdapterContextMenuInfo info =
(AdapterView.AdapterContextMenuInfo) menuInfo;
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_patient_menu, menu);
patient = items.get(numberPatient);
}
解决方案
这将是zero
为什么集合以第一个位置开头的原因0 position
。对于您的情况,请尝试如下:
numberPatient = position + 1;
推荐阅读
- reactjs - 几秒钟后隐藏 div ReactJS
- javascript - 更改我的嵌套状态 React Native 时出现问题
- javascript - Google Drive API:下载文件给出了 lockedDomainCreationFailure 错误
- django - Django rest框架中的类别不能为空问题
- regex - httpd url重写规则问题
- arrays - 如果单元格名称与单元格值匹配,则值为 +1
- vue.js - 我们可以在不使用 JSON.stringify 的情况下通过 Vue 路由器直接将 JSON 对象传递到另一个路由吗
- python - pickledb 将列表附加到 python
- c++ - 同时会与sqlite发生冲突(sql磁盘I/O错误,SQLITE_IOERR_LOCK)
- python - python中快速和窄带通数字滤波器的实现