Android修行之路——Dialog

  今天研究了一下Android的对话框,照着书上敲出来了一个简单的对话框。

DialogActivity.java:

1 package com.jin;
2
3 import android.app.Activity;
4 import android.app.AlertDialog;
5 import android.app.Dialog;
6 import android.app.ProgressDialog;
7 import android.content.DialogInterface;
8 import android.os.Bundle;
9 import android.view.LayoutInflater;
10 import android.view.View;
11
12 public class DialogActivity extends Activity {
13
14 ProgressDialog m_Dialog;
15
16 @Override
17 public void onCreate(Bundle savedInstanceState) {
18 super.onCreate(savedInstanceState);
19 setContentView(R.layout.main);
20
21 Dialog dialog = new AlertDialog.Builder(DialogActivity.this)
22 .setTitle("登陆提示")//设置标题
23 .setMessage("这里需要登录!")//设置内容
24 .setPositiveButton("确定",//设置确定按钮
25 new DialogInterface.OnClickListener(){
26 public void onClick(DialogInterface dialog, int whichButton){
27 //点击”确定“转向登陆框
28 LayoutInflater factory = LayoutInflater.from(DialogActivity.this);
29
30 //得到自定义对话框
31 final View DialogView = factory.inflate(R.layout.dialog, null);
32
33 //创建对话框
34 AlertDialog dlg = new AlertDialog.Builder(DialogActivity.this)
35 .setTitle("登陆框")
36 .setView(DialogView)//设置自定义对话框的样式
37 .setPositiveButton("确定",//设置”确定“按钮
38 new DialogInterface.OnClickListener(){//设置事件监听
39 public void onClick(DialogInterface dialog, int whichButton){
40 //输入完成后,点击”确定“开始登陆
41 m_Dialog = ProgressDialog.show(DialogActivity.this, "请等待...", "正在为你登陆...", true);
42
43 new Thread(){
44 public void run(){
45 try{
46 sleep(3000);
47 }catch(Exception e){
48 e.printStackTrace();
49 }finally{
50 //登陆结束,取消m_Dialog对话框
51 m_Dialog.dismiss();
52 }
53 }
54 }.start();
55 }
56 }).setNegativeButton("取消",//设置”取消“按钮
57 new DialogInterface.OnClickListener(){
58 public void onClick(DialogInterface dialog, int whichButton){
59 //点击”取消“按钮之后退出程序
60 DialogActivity.this.finish();
61 }
62 }).create();//创建
63 dlg.show();//显示
64 }
65
66 }).setNeutralButton("退出",
67 new DialogInterface.OnClickListener(){
68 public void onClick(DialogInterface dialog, int whichButton){
69 //点击”退出“按钮之后退出程序
70 DialogActivity.this.finish();
71 }
72 }).create();//创建按钮
73 dialog.show();
74 }
75 }
然后是dialog.xml:

1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical" >
6
7 <TextView
8 android:id="@+id/username"
9 android:layout_height="wrap_content"
10 android:layout_width="wrap_content"
11 android:layout_marginLeft="20dip"
12 android:layout_marginRight="20dip"
13
14 android:text="@string/username"
15
16 android:gravity="left"
17 android:textAppearance="?android:attr/textAppearanceMedium" />
18
19 <EditText
20 android:id="@+id/un"
21 android:layout_width="fill_parent"
22 android:layout_height="wrap_content"
23 android:layout_marginLeft="20dip"
24 android:layout_marginRight="20dip"
25 android:scrollHorizontally="true"
26 android:autoText="false"
27 android:hint="@string/unhint"
28 android:inputType="text"
29 android:capitalize="none"
30 android:gravity="fill_horizontal"
31 android:textAppearance="?android:attr/textAppearanceMedium" />
32
33 <TextView
34 android:id="@+id/password"
35 android:layout_width="wrap_content"
36 android:layout_height="wrap_content"
37 android:layout_marginLeft="20dip"
38 android:layout_marginRight="20dip"
39
40 android:text="@string/password"
41 android:gravity="left"
42 android:textAppearance="?android:attr/textAppearanceMedium" />
43
44 <EditText
45 android:id="@+id/psw"
46 android:layout_width="fill_parent"
47 android:layout_height="wrap_content"
48 android:layout_marginLeft="20dip"
49 android:layout_marginRight="20dip"
50 android:scrollHorizontally="true"
51 android:autoText="false"
52 android:capitalize="none"
53 android:gravity="fill_horizontal"
54 android:hint="@string/pswhint"
55 android:inputType="textPassword"
56 android:password="true"
57 android:textAppearance="?android:attr/textAppearanceMedium" />
58
59 </LinearLayout>
运行效果:
[img]http://dl.iteye.com/upload/attachment/0065/1193/79f794f9-593b-31cd-911a-0d132777d110.png[/img]

[img]http://dl.iteye.com/upload/attachment/0065/1195/96ea31eb-bb4d-30c7-bc0b-88504a3948c2.png[/img]

[img]http://dl.iteye.com/upload/attachment/0065/1197/730da3c5-cbc3-38f2-8aab-e408b66c4832.png[/img]

在运行的过程中,一直报错,找不到原因,后来,终于发现,在dialog.xml中把EditText写成了EditView。粗心惹的祸啊,浪费了不少时间。

03-19 11:12:05.748: E/AndroidRuntime(368): android.view.InflateException: Binary XML file line #19: Error inflating class EditView
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值