java Android:当我为 ListView 设置 OnClickListener 时

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2240411/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-29 20:15:28  来源:igfitidea点击:

Android: When I set an OnClickListener for a ListView

javaandroiduser-interface

提问by Tom R

    lv.setOnClickListener(new OnClickListener(){
        public void onClick(View v){

        }
    });

Does vrefer to the ListView lvor the specific item selected in the list?

是否v指的ListViewlv或在列表中选择具体的项目?

回答by Erich Douglass

I believe that vrefers to the whole ListView. To add a click handler for an item, you want to use AdapterView.setOnItemClickListener.

相信是v指整体ListView。要为项目添加点击处理程序,您需要使用AdapterView.setOnItemClickListener

回答by Nikola Smiljani?

There is a setOnItemClickListener for what you want.

有一个 setOnItemClickListener 可以满足您的需求。

回答by Mark B

onClickListenerjust listens to a click on the entire View. vwill be the ListView.

onClickListener只听点击整个视图。 v将是ListView.

What you probably want is onItemClickListenerinstead of onClickListener.

您可能想要的是onItemClickListener而不是onClickListener.

Or you may want to extend ListActivityand override onListItemClick()

或者您可能想要扩展ListActivity和覆盖onListItemClick()

回答by Dhiral Pandya

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int arg2,long itemID) {

        View itemView = view;
        String fromDate = ((TextView)itemView.findViewById(R.id.fromDate)).getText().toString();
        int position = (int) arg0.getSelectedItemId();
        Log.d(TAG, "ListView Selected : "+fromDate+" Position:"+position+" arg2:"+arg2+" arg3:"+itemID);
    }
});