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的單擊事件就知足了爲啥要畫蛇添足。。。(不過這玩意是接口回調。。因此。。麻煩一些咯)

相關文章
相關標籤/搜索