監聽器 與. xxx .xxx

監聽器

以前很不明白爲何實現監聽器的時候會是以下的寫法:android

import android.view.View;

public class Test extends Activity{
    @Override protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        final Button button = new Button(this);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // 點擊事件處理            }
        });
    }
}

一直把OnClickListener看成View的一個子類,還想爲何必定要用View.的形式呢?我已經import了啊,忽然才反應過來,這是View裏面的一個接口啊,直接使用接口就找不到是哪一個接口了。
用匿名內部類的形式實現的了一個監聽接口,onClick只是接口中定義的一個方法,傳入的View v是所要監聽的View。ide

.xxx .xxx

昨天寫activity的時候,看見一個這樣的寫法:ui

return new AlertDialog.Builder(getActivity())
                .setView(v)
                .setTitle(R.string.date_picker_title)
                .setPositiveButton(android.R.string.ok, null)
                .create();

我琢磨這一連串的....都是什麼?JAVA神之技巧麼?後來一琢磨,原來後面的四個方法都連續返回一個對象,經過連續三個參數的傳入,最後create()一個擁有三個參數的對象,固然,若是顯示器夠寬的話,寫成一行就不會碰見這種腦抽問題了。this

本站公眾號
   歡迎關注本站公眾號,獲取更多信息