原帖地址:http://wayfarer.javaeye.com/blog/444061
(1) res中的xml文件命名必須全部爲小寫字母,如果有大寫字母存在,則無法編譯通過。原因不知。
(2) 關於onCreate()方法中的語句次序
- <SPAN style="FONT-SIZE: small">protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState); // 次序爲1,原因很簡單,因爲是super語句
- setContentView(R.layout.checkbox); // 次序爲2,和j2me不同,這條語句必須放在其他widget之前,放在其前面的widget不會被加載到這個Activity中
- tv = (TextView) findViewById(R.id.textView);
- apple = (CheckBox) findViewById(R.id.apple);
- ......
- }</SPAN>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // 次序爲1,原因很簡單,因爲是super語句
setContentView(R.layout.checkbox); // 次序爲2,和j2me不同,這條語句必須放在其他widget之前,放在其前面的widget不會被加載到這個Activity中
tv = (TextView) findViewById(R.id.textView);
apple = (CheckBox) findViewById(R.id.apple);
......
}
requestWindowFeature(Window.FEATURE_NO_TITLE); 使得Activity沒有titleBar,進而使顯示區域變大。如果需要這條語句,其應當置於setContentView()方法之前。
(3) XML Attributes
1)Spinner/GridView/ListView
2) @+id
@+id是個人添加新控件的id,“+”表示新建屬性;@id是android內置的;@android:id/empty表示Android中的自由屬性。
3) layout_width和layout_height是必備屬性:java.lang.RuntimeException: You must supply a layout_width attribut.
4) java.lang.IllegalStateException:ScrollView can host only one direct child.
(4)控制鍵盤的顯示和隱藏
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_BACK));
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
(5)你後臺的Activity被系統回收怎麼辦:onSaveInstanceState
當你的程序中某一個Activity A在運行時,主動或被動地運行另一個新的Activity B,這個時候A會執行onSaveInstanceState()
B完成以後又會來找A,這個時候就有兩種情況:一是A被回收,二是A沒有被回收,被回收的A就要重新調用onCreate()方法,不同於直接啓動的是這回onCreate()裏是帶上了參數savedInstanceState;而沒被收回的就直接執行onResume(),跳過onCreate()了。
savedInstanceState是一個Bundle對象,你基本上可以把他理解爲系統幫你維護的一個Map對象。在onCreate()裏你可能會用到它,如果正常啓動onCreate就不會有它,所以用的時候要判斷一下是否爲空。
就像官方的Notepad教程裏的情況,你正在編輯某一個note,突然被中斷,那麼就把這個note的id記住,再起來的時候就可以根據這個id去把那個note取出來,程序就完整一些。這也是看你的應用需不需要保存什麼,比如你的界面就是讀取一個列表,那就不需要特殊記住什麼,哦,沒準你需要記住滾動條的位置...
(6)AlertDialog
AlertDialog類是Dialog類的子類。它默認提供了3個按鈕和一個文本消息。這些按鈕可以按需要來使他們顯示或隱藏。
AlertDialog類中有一個內部類,名爲 ‘Builder’,Builder類提供了爲對話框添加多選或單選列表,以及爲這些列表添加事件處理的功能。另外,這個Builder類將 AlertDialog對話框上的3個按鈕按照他們的位置分別稱呼爲:PositiveButton, NeutralButton, NegativeButton