【问题标题】:OnItemClickListener() - Android listviewOnItemClickListener() - Android 列表视图
【发布时间】:2013-11-01 16:01:28
【问题描述】:

我在Android中开发一个示例应用程序并遇到了下面的代码,我只是想知道在使用这一行时使用了Java的哪一部分,OOPS概念,有人可以详细解释这种声明吗?为什么要这样声明

mainlistview.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        // TODO Auto-generated method stub

    } }); 

【问题讨论】:

    标签: android listview onitemclicklistener


    【解决方案1】:

    这称为Anonymous class,在此示例中用作Observer Pattern 的一部分。

    【讨论】:

      【解决方案2】:

      OnItemClickListener 是一个interface。 ListView 将保存您提供的接口实现(您的new OnItemClick...)。 当 ListView 检测到用户单击项目时,它将通过 mOnItemClickCallback.onItemClick(params...) 调用您提供的回调(您的实现)

      【讨论】:

        【解决方案3】:

        除了“米特”所说的,

        这个

        mainlistview.setOnItemClickListener(new OnItemClickListener() {
        
                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                        long arg3) {
                    // TODO Auto-generated method stub
        
                } });
        

        也可以写成

         mainlistview.setOnItemClickListener(this);
        
         public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                        long arg3) {
        
        /// do the stuff for item click
        
        }
        

        【讨论】:

          【解决方案4】:

          看看观察者和命令模式。这些模式可以帮助您理解这个概念。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-10-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-07-29
            • 1970-01-01
            相关资源
            最近更新 更多