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代码
- 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,有布局更自由,消息传递更方便地优点
                分享标题:Androiddialog应用经验总结
                
                本文路径:http://www.csdahua.cn/qtweb/news26/406226.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网