Android:无法设置onItemListener

时间:2012-09-21 17:25:16

标签: android listview onclicklistener

我正在创建一个带有适配器的ListView,其对话题为:

    adapter = new SimpleAdapter(this, test_list, R.layout.list_layout2, from, to);
    lv=(ListView)findViewById(R.id.listView1);

然后我试图添加一些听众,但它们并没有在正在运行的应用中触发。

    onclick =new OnItemClickListener(){

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            Log.d("item",arg2 + "");
        }

    };

    onlongclick = new OnItemLongClickListener(){


        @Override
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub
            Log.d("longitem",arg2 + "");
            return false;
        }

    };

    lv.setOnItemClickListener(onclick);

    lv.setOnItemLongClickListener(onlongclick);

有人建议让事情正常运行吗?

3 个答案:

答案 0 :(得分:0)

这似乎是正确的,但我不明白为什么你制作听众的变量? 你可以设置它们。

点击此处的链接:

http://www.ezzylearning.com/tutorial.aspx?tid=1351248

它使用ArrayAdapter而不是SimpleAdapter,其中一个参数是项目。

它可能会帮助你。

答案 1 :(得分:0)

好的,我找到了答案。 在我的项目布局中,“R.layout.list_layout2”是带有

的TextView
android:focusable="true"
android:focusableInTouchMode="true"

删除这个让我的OnItemClickListener工作稳定。

答案 2 :(得分:0)

我找到了可以帮助您解决问题的教程

点击这里

http://www.androidbegin.com/tutorial/android-simple-listview-tutorial/