2011年2月18日 星期五

DatePicker 和 Button Click 的小範例

範例內容跟 Android Developer 官方的範例其實有點類似
不過我個人傾向的事件寫法是在別的地方寫好 function
然後在設定 onClick 之類的事件時再指定到我寫好的 function
官方範例用下面這種寫法我覺得會讓程式碼很亂....

pucliv onCreate() {
  ...
  mPickDate.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
      showDialog(DATE_DIALOG_ID);
    }
  });
  ...
}

2011年2月14日 星期一

@+id/name 跟 @android:id/name 的差別

官方的文件 Declaring Layout 中有以下說明:

The at-symbol (@) at the beginning of the string indicates that the XML parser should parse and expand the rest of the ID string and identify it as an ID resource. The plus-symbol (+) means that this is a new resource name that must be created and added to our resources (in the R.java file). There are a number of other ID resources that are offered by the Android framework. When referencing an Android resource ID, you do not need the plus-symbol, but must add the android package namespace, like so:

android:id="@android:id/empty"

 

意即,@ 表示 XML parser 需要將接下來的字串轉換成 ID resource,其中 @+ 表示這是新的 resource name,必須新建到 R.java 內;@android:id 則表示指向的這個 resource name 是已經存在的 resource。