編輯:高級開發
android手機操作系統是一款由谷歌推出的開源操作系統。在智能手機領域中,這一操作系統占據著非常重要的地位。在這裡我就先來了解一下android dialog的實現方法。希望可以給大家帶來一些幫助。
1、網上說的很多,android dialog實現的方法有兩個
一個是通過AlertDialog.Builder 初始化dialog 然後再showDialog
另一個是通過將androidManifest.XML中的activity的屬性設為android:theme="@android:style/Theme.Dialog,偽裝為dialog
2、showDialog的線程問題
android dialog的顯示不會阻塞ui線程.....
例子
Java代碼
- protected void onListItemClick(ListView l, VIEw v,
int position, long id) {- Intent intent = new Intent();
- Bundle bundle = new Bundle();
- switch (editMode) {
- case SELECT:
- bundle.putString("listName", list.get
(position).getName());- intent.setClass(this, AudioPlayer.class);
- intent.putExtras(bundle);
- startActivity(intent);
- break;
- case RENAME:
- oldName = list.get(position).getName();
- intent.setClass(MusicList.this, DialogActivity.class);
- startActivityForResult(intent, Preferences.RENAME);
- break;
- case DELETE:
- oldName = list.get(position).getName();
- showDialog(CONFIRM_DIALOG);
- delete(oldName,flag);
- break;
- }
- editMode = EditMode.SELECT;
- protected Dialog onCreateDialog(int id) {
- switch (id) {
- case CONFIRM_DIALOG:
- return new AlertDialog.Builder(MusicList.this).setIcon(
- android.R.drawable.ic_dialog_alert).setTitle("確認刪除?")
- .setPositiveButton(R.string.confirm,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int whichButton) {
- mListTool.deleteList(oldName);
- flag = true;
- }
- }).setNegativeButton(R.string.cancel,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int whichButton) {
- flag = false;
- }
- }).create();
- }
- return null;
- } }
- protected void onListItemClick(ListView l, VIEw v,
int position, long id) {- Intent intent = new Intent();
- Bundle bundle = new Bundle();
- switch (editMode) {
- case SELECT:
- bundle.putString("listName", list.get(position).getName());
- intent.setClass(this, AudioPlayer.class);
- intent.putExtras(bundle);
- startActivity(intent);
- break;
- case RENAME:
- oldName = list.get(position).getName();
- intent.setClass(MusicList.this, DialogActivity.class);
- startActivityForResult(intent, Preferences.RENAME);
- break;
- case DELETE:
- oldName = list.get(position).getName();
- showDialog(CONFIRM_DIALOG);
- delete(oldName,flag);
- break;
- }
- editMode = EditMode.SELECT;
- protected Dialog onCreateDialog(int id) {
- switch (id) {
- case CONFIRM_DIALOG:
- return new AlertDialog.Builder(MusicList.this).setIcon(
- android.R.drawable.ic_dialog_alert).setTitle("確認刪除?")
- .setPositiveButton(R.string.confirm,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int whichButton) {
- mListTool.deleteList(oldName);
- flag = true;
- }
- }).setNegativeButton(R.string.cancel,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int whichButton) {
- flag = false;
- }
- }).create();
- }
- return null;
- } }
android dialog的對話框還在初始化得過程中,delete方法就調用了,說明dialog是另開一個線程的,同時提供回調方法
3、取得dialog中Edittext的內容問題
由於android dialog本身沒有提供取得Edittext內容的回調函數,所以需要自己寫.....
簡單的方法是使用activity偽裝dialog,有布局更自由,消息傳遞更方便地優點
android 3.0 SDK已經正式發布了,android前面幾個版本已經證明它足夠成功了,但是在Andriod的全球成功後面是手機制造商的愛與恨的關系。Andrio
下面文章進行對android開發環境的初步分析和討論,android 是Google開發的基於Linux平台的開源手機操作系統,而且他的開發語言基本是使用Java語言編
當我們創建一個帶EditText 或 AutoCompleteTextVIEw的視圖時,在加載視圖時總是會把輸入的焦點自動移動到第一個輸入框。如下圖所示:
從現實生活中理解廣播機制 一聽到廣播我們第一感覺就會聯想到小時候村裡面的廣播,每逢村裡有什麼活動都是通過廣播發送的。收聽收音機也是一種廣播,在收音機中有很多個廣播電台