Android接口初了解

//此处是MyBaseadapter 类。。省略。。。java

//定义接口ide

public interface OnItemClickLitenerpost

    {this

        void onItemClick(View view, int position);spa

        void onItemLongClick(View view , int position);code

    }对象

    public OnItemClickLitener onItemClickLitener;接口


//暂时叫关联接口    事件

public void setOnItemClickLitener(OnItemClickLitener onItemClickLitener){get

        this.onItemClickLitener = onItemClickLitener;

    }


//设置回调事件

       if (onItemClickLitener != null){

//这里你须要单击的控件(本身diy)

           holder.text.setOnClickListener(new View.OnClickListener() {

               @Override

               public void onClick(View v) {


                   int pos = holder.getLayoutPosition();

                   onItemClickLitener.onItemClick(v,pos);


               }

           });

       }


    }




//activtiy代码

   MyBaseadapter baseadapter = new MyBaseadapter(this,list);



//实现接口

 baseadapter.setOnItemClickLitener(new MyBaseadapter.OnItemClickLitener() {

            @Override

            public void onItemClick(View view, int position) {


                Toast.makeText(MainActivity.this,position+"",Toast.LENGTH_SHORT).show();

            }


            @Override

            public void onItemLongClick(View view, int position) {


            }

        });


//理下思路:首先咱们在MyBaseadapter 定义了一个接口,接口有两个方法。。。能够看作单击事件的监听方法(接口方法不单单只有这么一点点功能),而后咱们在MyBaseadapter 写了一个获取接口对象的回调方法(注意:这就是接口回调的回调方法),接着在getview中关联控件的单击事件把postion和view返回出去(功能不惟一,有接口干啥事都方便);而后调用这个类的时候执行回调方法。。。控件的单击事件也就产生了。。



可能有人会说listview的单击事件就知足了为啥要画蛇添足。。。(不过这玩意是接口回调。。因此。。麻烦一些咯)

相关文章
相关标签/搜索