简体   繁体   English

具有自定义适配器的可单击ListView

[英]Clickable ListView with Custom Adapter

I'm new to Java and Android development so bear with on this... 我是Java和Android开发的新手,所以请继续...

I'm trying to create a clickable ListView with a custom adapter. 我正在尝试使用自定义适配器创建可点击的ListView。 I've got my ListView setup showing each of the rows, but when I try to call setOnClickListener it's complaining that: 我有显示每个行的ListView设置,但是当我尝试调用setOnClickListener时,它抱怨:

The method setOnClickListener(View.OnClickListener) in the type AdapterView is not applicable for the arguments (new AdapterView.OnItemClickListener(){}) AdapterView类型的方法setOnClickListener(View.OnClickListener)不适用于参数(新AdapterView.OnItemClickListener(){})

So here is my code: 所以这是我的代码:

AccountArrayAdapter myAdapter = new AccountArrayAdapter(this, accountArray);        

listView.setAdapter(myAdapter);

listView.setOnClickListener(new android.widget.AdapterView.OnItemClickListener(){
    public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            Toast.makeText(getApplicationContext(), "Click ListItemNumber " + position, Toast.LENGTH_LONG).show();

        }
    });

Pretty straight forward stuff. 很简单的东西。 The code is mostly copied from other places, which I think is why I'm having a hard time getting my head around what could be wrong. 该代码大部分是从其他地方复制的,我认为这就是为什么我很难理解可能存在的问题的原因。

Thanks 谢谢

use setOnItemClickListener instead of setOnClickListener 使用setOnItemClickListener 而不是 setOnClickListener

listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
            Toast.makeText(getApplicationContext(), "Click ListItemNumber " + position,Toast.LENGTH_LONG).show();
            }
        });

- See this CustomAdapter ListView - 参见此CustomAdapter ListView

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM