如何从POJO的listview onClick()中获取Item?

时间:2019-04-07 14:45:04

标签: java android android-layout listview android-listview

我有一个POJO,其中描述了一些模型(Item?)和一些自定义适配器。

我正在为ListView设置适配器,然后在onItemClick()中获取要添加到项目中的变量之一的值。

我如何做到这一点?

在我的代码中,我正在做类似的事情:

private List<SomeItem> items = new ArrayList();
items.add(new SomeItem(firstValueString, secondValueBitmap, thirdValueString));
SomeAdapter adapter = new SomeAdapter(this, R.layout.list_item, items);
listView.setAdapter(adapter);
listView.setOnItemClickListener(
...
@Override
public void onItemClick(){
//How to reach for example firstValueString value of currently clicked item??
}
)

2 个答案:

答案 0 :(得分:0)

使用r = requests.get( the link ) x = r.json() df = pd.DataFrame.from_dict(x["result"]["records"]) db_table= df.head(5).to_html(escape=False) fig, ax = plt.subplots() df['_id'].hist() encoded = fig_to_base64(fig) plot_img = '<img src="data:image/png;base64, {}">'. format(encoded.decode('utf-8'))

android.widget.AdapterView.OnItemClickListener

答案 1 :(得分:0)

基于Android SDK文档:

  

实施者如果需要访问与所选项目关联的数据,可以调用getItemAtPosition(position)。

如果完全实现适配器,则可以得到以下类似的东西:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Item item = (Item)parent.getItemAtPosition(position);
    }
});