0

我有一个ListView使用海关适配器实现的。为了制作适配器,我使用的是holder class. 该类具有各种TextViews以及ImageViews一个 Int 变量 id 来存储从数据库中获取的 id。现在,当我单击特定列表时,我想获取 id 以便使用它我可以进一步显示有关新活动的信息。id 并不意味着显示在ListView. 我怎样才能从onItemClickListener()

4

3 回答 3

1
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
        long id) {


    YourObject selected = adapter.getItem(position);

然后您可以将选定的列表项(对象)发送到您的新活动

Intent mIntent = new Intent(ThisActivity.this, NewActivity.class);
        mIntent.putExtra("list_selected", selected);
        startActivity(mIntent);
于 2013-08-11T08:25:38.530 回答
1

您可以将标签设置为View( .setTag()) 然后检索它,它发生在getView()您的自定义方法中Adapter

这是一个示例代码:

listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
        String transactionId = ((TextView) view
                .findViewById(R.id.tvTID)).getText().toString();
        handler.getTransactionDetails(callback, transactionId);
    }
});
于 2013-08-11T08:26:38.240 回答
0

以及一个 Int 变量 id 来存储从数据库中获取的 id。

您没有提供有关该id的更多信息(我不确切知道它呈现什么),但为了简单起见,您可以ListAdapter通过setTag()方法为每个小部件设置此 id,然后简单地从您的onItemClick()方法中检索它。

于 2013-08-11T08:27:46.440 回答