自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android dialog應(yīng)用經(jīng)驗(yàn)總結(jié)

移動(dòng)開(kāi)發(fā) Android
我們?cè)谶@里將會(huì)為大家詳細(xì)介紹一下有關(guān)Android dialog的實(shí)現(xiàn)方法。大家可以通過(guò)我們?cè)谶@里介紹的內(nèi)容充分掌握這一應(yīng)用技巧。

Android手機(jī)操作系統(tǒng)是一款由谷歌推出的開(kāi)源操作系統(tǒng)。在智能手機(jī)領(lǐng)域中,這一操作系統(tǒng)占據(jù)著非常重要的地位。在這里我就先來(lái)了解一下Android dialog的實(shí)現(xiàn)方法。希望可以給大家?guī)?lái)一些幫助。#t#

1、網(wǎng)上說(shuō)的很多,Android dialog實(shí)現(xiàn)的方法有兩個(gè)

一個(gè)是通過(guò)AlertDialog.Builder 初始化dialog 然后再showDialog

另一個(gè)是通過(guò)將androidManifest.xml中的activity的屬性設(shè)為android:theme="@android:style/Theme.Dialog,偽裝為dialog

2、showDialog的線程問(wèn)題

Android dialog的顯示不會(huì)阻塞ui線程.....

例子

Java代碼

  1. protected void onListItemClick(ListView l, View v, 
    int position, long id) {   
  2. Intent intent = new Intent();   
  3. Bundle bundle = new Bundle();   
  4. switch (editMode) {   
  5. case SELECT:   
  6. bundle.putString("listName", list.get
    (position).getName());   
  7. intent.setClass(this, AudioPlayer.class);   
  8. intent.putExtras(bundle);   
  9. startActivity(intent);   
  10. break;   
  11. case RENAME:   
  12. oldName = list.get(position).getName();   
  13. intent.setClass(MusicList.this, DialogActivity.class);   
  14. startActivityForResult(intent, Preferences.RENAME);   
  15. break;   
  16. case DELETE:   
  17. oldName = list.get(position).getName();   
  18. showDialog(CONFIRM_DIALOG);   
  19. delete(oldName,flag);   
  20. break;   
  21. }   
  22. editMode = EditMode.SELECT;   
  23. protected Dialog onCreateDialog(int id) {   
  24. switch (id) {   
  25. case CONFIRM_DIALOG:   
  26. return new AlertDialog.Builder(MusicList.this).setIcon(   
  27. android.R.drawable.ic_dialog_alert).setTitle("確認(rèn)刪除?")   
  28. .setPositiveButton(R.string.confirm,   
  29. new DialogInterface.OnClickListener() {   
  30. public void onClick(DialogInterface dialog,   
  31. int whichButton) {   
  32. mListTool.deleteList(oldName);   
  33. flag = true;   
  34. }   
  35. }).setNegativeButton(R.string.cancel,   
  36. new DialogInterface.OnClickListener() {   
  37. public void onClick(DialogInterface dialog,   
  38. int whichButton) {   
  39. flag = false;   
  40. }   
  41. }).create();   
  42. }   
  43. return null;   
  44. } }   
  45. protected void onListItemClick(ListView l, View v, 
    int position, long id) {  
  46. Intent intent = new Intent();  
  47. Bundle bundle = new Bundle();  
  48. switch (editMode) {  
  49. case SELECT:  
  50. bundle.putString("listName", list.get(position).getName());  
  51. intent.setClass(this, AudioPlayer.class);  
  52. intent.putExtras(bundle);  
  53. startActivity(intent);  
  54. break;  
  55. case RENAME:  
  56. oldName = list.get(position).getName();  
  57. intent.setClass(MusicList.this, DialogActivity.class);  
  58. startActivityForResult(intent, Preferences.RENAME);  
  59. break;  
  60. case DELETE:  
  61. oldName = list.get(position).getName();  
  62. showDialog(CONFIRM_DIALOG);  
  63. delete(oldName,flag);  
  64. break;  
  65. }  
  66. editMode = EditMode.SELECT;  
  67. protected Dialog onCreateDialog(int id) {  
  68. switch (id) {  
  69. case CONFIRM_DIALOG:  
  70. return new AlertDialog.Builder(MusicList.this).setIcon(  
  71. android.R.drawable.ic_dialog_alert).setTitle("確認(rèn)刪除?")  
  72. .setPositiveButton(R.string.confirm,  
  73. new DialogInterface.OnClickListener() {  
  74. public void onClick(DialogInterface dialog,  
  75. int whichButton) {  
  76. mListTool.deleteList(oldName);  
  77. flag = true;  
  78. }  
  79. }).setNegativeButton(R.string.cancel,  
  80. new DialogInterface.OnClickListener() {  
  81. public void onClick(DialogInterface dialog,  
  82. int whichButton) {  
  83. flag = false;  
  84. }  
  85. }).create();  
  86.  
  87. }  
  88. return null;  
  89. } } 

Android dialog的對(duì)話框還在初始化得過(guò)程中,delete方法就調(diào)用了,說(shuō)明dialog是另開(kāi)一個(gè)線程的,同時(shí)提供回調(diào)方法

3、取得dialog中Edittext的內(nèi)容問(wèn)題

由于Android dialog本身沒(méi)有提供取得Edittext內(nèi)容的回調(diào)函數(shù),所以需要自己寫(xiě).....

簡(jiǎn)單的方法是使用activity偽裝dialog,有布局更自由,消息傳遞更方便地優(yōu)點(diǎn)

責(zé)任編輯:曹凱 來(lái)源: javaeye.com
相關(guān)推薦

2010-01-25 14:25:33

Android Int

2009-11-17 11:24:00

PHP應(yīng)用技巧

2017-02-17 11:19:00

Android內(nèi)存泄露分析總結(jié)

2010-01-26 13:28:11

Android開(kāi)發(fā)要點(diǎn)

2009-12-31 10:21:53

Silverlight

2010-05-06 17:30:56

Oracle查詢語(yǔ)句

2009-10-15 09:27:00

2010-01-06 15:52:11

軟交換技術(shù)

2009-10-27 10:46:27

ADSL接入技術(shù)

2010-02-02 15:44:18

C++遍歷集合

2009-09-16 17:13:54

學(xué)習(xí)Linq

2009-08-19 09:24:43

AJAX引擎經(jīng)驗(yàn)總結(jié)

2009-09-29 16:32:11

OJB Hiberna

2010-01-25 13:37:07

Android傳感器

2010-04-28 17:14:38

Oracle EXPL

2009-10-23 09:43:44

光纖接入網(wǎng)

2010-09-13 10:52:37

CSS定位

2017-01-05 16:29:00

2009-09-16 17:44:54

LINQ to SQL

2009-09-08 10:57:55

LINQ查詢操作
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)