Androiddialog应用经验总结

Android手机操作系统是一款由谷歌推出的开源操作系统。在智能手机领域中,这一操作系统占据着非常重要的地位。在这里我就先来了解一下Android dialog的实现方法。希望可以给大家带来一些帮助。#t#

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册雅安服务器托管、营销软件、网站建设、尼金平网站维护、网站推广。

1、网上说的很多,Android dialog实现的方法有两个

一个是通过AlertDialog.Builder 初始化dialog 然后再showDialog

另一个是通过将androidManifest.xml中的activity的属性设为android:theme="@android:style/Theme.Dialog,伪装为dialog

2、showDialog的线程问题

Android dialog的显示不会阻塞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("确认删除?")   
  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("确认删除?")  
  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的对话框还在初始化得过程中,delete方法就调用了,说明dialog是另开一个线程的,同时提供回调方法

3、取得dialog中Edittext的内容问题

由于Android dialog本身没有提供取得Edittext内容的回调函数,所以需要自己写.....

简单的方法是使用activity伪装dialog,有布局更自由,消息传递更方便地优点

文章题目:Androiddialog应用经验总结
文章出自:http://www.shufengxianlan.com/qtweb/news26/406226.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联