首页 > 代码库 > alertDialog创建登陆界面,判断用户输入

alertDialog创建登陆界面,判断用户输入

alertDialog创建登陆界面,需要获取用户输入的用户名和密码,获取控件对象的时候不能像主布局文件那样获得,

需要在onClickListener中获取,代码如下:

 1 public boolean onOptionsItemSelected(MenuItem item) {
 2         // TODO Auto-generated method stub
 3         switch(item.getItemId()){
 4         case 1:
 5             Intent intent = new Intent();
 6             intent.setAction(Intent.ACTION_MAIN);
 7             intent.addCategory(Intent.CATEGORY_HOME);
 8             startActivity(intent);
 9             break;
10         case 2:
11             Toast.makeText(MainActivity.this, "POWER BY BOF", Toast.LENGTH_LONG).show();
12             break;
13         case 3:
14             login();
15             break;
16         }
17         return super.onOptionsItemSelected(item);
18     }
19     
20     //用户注册
21     public void login(){
22         /*
23          * 此段代码为重点内容
24          * 
25          */
26         LayoutInflater factory = LayoutInflater.from(MainActivity.this);
27         final View v1 = factory.inflate(R.layout.login, null);
28         //创建对话框
29         final Builder alertDialog = new AlertDialog.Builder(this);
30         alertDialog.setTitle("用户登陆");
31         alertDialog.setView(v1);
32         alertDialog.setPositiveButton("登录", new DialogInterface.OnClickListener() {
33             
34             @Override
35             public void onClick(DialogInterface dialog, int which) {
36                 /*
37                  * 下面两行代码为获取dialog中的控件对象,
38                  * 和UI布局获取控件对象略有不同,只能在用到alertDialog的地方进行实现
39                  */
40                 EditText user = (EditText)v1.findViewById(R.id.user);
41                 EditText passwd = (EditText)v1.findViewById(R.id.passwd);
42                 String userStr = user.getText().toString();
43                 String passwdStr = passwd.getText().toString();
44                 if(userStr.equals("android") && passwdStr.equals("asdf123..")){
45                     Intent intent1 = new Intent(MainActivity.this,HandproActivity.class);
46                     startActivity(intent1);
47                 }else{
48                     Toast.makeText(MainActivity.this, "账号或密码错误,请重新输入", Toast.LENGTH_LONG).show();
49                 }
50                 
51                 //Toast.makeText(MainActivity.this, "haha", Toast.LENGTH_LONG).show();
52             }
53         });
54         alertDialog.setNegativeButton("去注册", new DialogInterface.OnClickListener() {
55             
56             @Override
57             public void onClick(DialogInterface dialog, int which) {
58                 // TODO Auto-generated method stub
59                 
60             }
61         });
62         alertDialog.create().show();
63     }
64