25、Android之AlertDialog使用
2012-03-11 23:03
465 查看
在Android开发中,总会用到使用AlertDialog+EditText组件呈现给用户,让用户填写一些信息,那么在AlertDialog对话框中如何添加出EditText文本框组件呢,这里我自己总结了一种方法来实现:
在这里,我们想实现的逻辑是:点击"我要登录"按钮,然后再当前页面中弹出一个对话框,对话框中是让用户填写登录的账号与密码,然后点击"登录"按钮后在当前页面中显示用户输入的账号与密码信息。
创建主配置文件main.xml文件:赛尔号丽莎布布配招
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1">
<Button android:layout_height="wrap_content" android:id="@+id/button1" android:layout_width="match_parent" android:text="@string/login"></Button>
</LinearLayout>
</LinearLayout>
创建登录使用的配置文件edittext.xml 这个配置文件中需要添加登录所需的文本框,并且都设置好布局属性,这个文件在后面需要被引入
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"TP-LINK如何防蹭网
>
<TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/tableLayout1">
<TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dip">
<TextView android:id="@+id/textView1" android:text="@string/name" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20dip"></TextView>
<EditText android:layout_weight="1" android:text="请输入用户名" android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>
</TableRow>
</TableLayout>
<TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/tableRow2" android:clickable="true" android:padding="10dip">
<TextView android:id="@+id/textView2" android:text="@string/pass" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20dip"></TextView>
<EditText android:layout_weight="1" android:text="请输入密码" android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>
</TableRow>
</LinearLayout>
在类MainActivity中的代码:
package cn.android.activity;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1 = (Button) this.findViewById(R.id.button1);
button1.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
/**获取引用edittext.xml配置文件中的视图组件*/
LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
final View view = inflater.inflate(R.layout.edittext, null);</span>
/**这里使用链式写法创建了一个AlertDialog对话框,并且把应用到得视图viwe放入到其中*/
/**添加AlertDialog的用户登录按钮,并且设置按钮响应事件*/
new AlertDialog.Builder(MainActivity.this)
.setTitle("用户登录")
.setView(view)
.setPositiveButton("登录",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
<span style="color: #ff0000;">/**获取用户名文本框组件*/
EditText nameEditText = (EditText) view.findViewById(R.id.editText1);
/**获取用户名文本框中输入的内容*/
String username = nameEditText.getText().toString();
/**获取密码文本框组件*/
EditText passEditText = (EditText) view.findViewById(R.id.editText2);
/**获取密码文本框中的内容*/
String userpass = passEditText.getText().toString();</span>
/**创建一个消息框,显示用户的账号与密码*/
Toast.makeText(MainActivity.this, "您的用户名是:"+username+","+"您的密码是:"+userpass, Toast.LENGTH_LONG).show();
}
/**添加对话框的退出按钮,并且设置按钮响应事件*/
}).setNegativeButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "您取消了登录", Toast.LENGTH_LONG).show();
}
}).show();
}
}
这里我们用到的方法是把其他配置文件中的视图引入到当前视图的 AlertDialog中,作为住页面其中的一个组成部分。
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1 = (Button) this.findViewById(R.id.button1);
button1.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
/**获取引用edittext.xml配置文件中的视图组件*/
LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
final View view = inflater.inflate(R.layout.edittext, null);
/**这里使用链式写法创建了一个AlertDialog对话框,并且把应用到得视图viwe放入到其中*/
/**添加AlertDialog的用户登录按钮,并且设置按钮响应事件*/
new AlertDialog.Builder(MainActivity.this).setTitle("用户登录").setView(view).setPositiveButton("登录",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
<span style="color: #ff0000;">/**获取用户名文本框组件*/
EditText nameEditText = (EditText) view.findViewById(R.id.editText1);
/**获取用户名文本框中输入的内容*/
String username = nameEditText.getText().toString();
/**获取密码文本框组件*/
EditText passEditText = (EditText) view.findViewById(R.id.editText2);
/**获取密码文本框中的内容*/
String userpass = passEditText.getText().toString();</span>
/**创建一个消息框,显示用户的账号与密码*/
Toast.makeText(MainActivity.this, "您的用户名是:"+username+","+"您的密码是:"+userpass, Toast.LENGTH_LONG).show();
}
/**添加对话框的退出按钮,并且设置按钮响应事件*/
}).setNegativeButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "您取消了登录", Toast.LENGTH_LONG).show();
}
}).show();
}
}
一般使用方法:
// LayoutInflater intflater = getLayoutInflater();
// View layout = intflater.inflate(R.layout.rename,null );
//
// AlertDialog.Builder builder = new AlertDialog.Builder(this);
// builder.setTitle("请输入");
// builder.setView(rename);
// builder.setPositiveButton("确定", null);
// builder.setNegativeButton("取消", null);
// builder.show();
// AlertDialog renameDialog = new AlertDialog.Builder(PicVew10Activity.this).create();
// renameDialog.setView(layout);
// renameDialog.setButton("确定", new DialogInterface.OnClickListener() {
//
// public void onClick(DialogInterface dialog, int which) {
// // TODO Auto-generated method stub
// String rePicName = rename.getText().toString();
//// String rePicName = picName;
// Picture reNamePic = new Picture();
// reNamePic.setPicName(rePicName);
// db.updateName(reNamePic);
// }
// });
// renameDialog.setButton2("取消", new DialogInterface.OnClickListener(){
//
// public void onClick(DialogInterface dialog, int which) {
// // TODO Auto-generated method stub
// }
// });
// renameDialog.show();
在这里,我们想实现的逻辑是:点击"我要登录"按钮,然后再当前页面中弹出一个对话框,对话框中是让用户填写登录的账号与密码,然后点击"登录"按钮后在当前页面中显示用户输入的账号与密码信息。
创建主配置文件main.xml文件:赛尔号丽莎布布配招
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1">
<Button android:layout_height="wrap_content" android:id="@+id/button1" android:layout_width="match_parent" android:text="@string/login"></Button>
</LinearLayout>
</LinearLayout>
创建登录使用的配置文件edittext.xml 这个配置文件中需要添加登录所需的文本框,并且都设置好布局属性,这个文件在后面需要被引入
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"TP-LINK如何防蹭网
>
<TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/tableLayout1">
<TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dip">
<TextView android:id="@+id/textView1" android:text="@string/name" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20dip"></TextView>
<EditText android:layout_weight="1" android:text="请输入用户名" android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>
</TableRow>
</TableLayout>
<TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/tableRow2" android:clickable="true" android:padding="10dip">
<TextView android:id="@+id/textView2" android:text="@string/pass" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20dip"></TextView>
<EditText android:layout_weight="1" android:text="请输入密码" android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>
</TableRow>
</LinearLayout>
在类MainActivity中的代码:
package cn.android.activity;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1 = (Button) this.findViewById(R.id.button1);
button1.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
/**获取引用edittext.xml配置文件中的视图组件*/
LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
final View view = inflater.inflate(R.layout.edittext, null);</span>
/**这里使用链式写法创建了一个AlertDialog对话框,并且把应用到得视图viwe放入到其中*/
/**添加AlertDialog的用户登录按钮,并且设置按钮响应事件*/
new AlertDialog.Builder(MainActivity.this)
.setTitle("用户登录")
.setView(view)
.setPositiveButton("登录",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
<span style="color: #ff0000;">/**获取用户名文本框组件*/
EditText nameEditText = (EditText) view.findViewById(R.id.editText1);
/**获取用户名文本框中输入的内容*/
String username = nameEditText.getText().toString();
/**获取密码文本框组件*/
EditText passEditText = (EditText) view.findViewById(R.id.editText2);
/**获取密码文本框中的内容*/
String userpass = passEditText.getText().toString();</span>
/**创建一个消息框,显示用户的账号与密码*/
Toast.makeText(MainActivity.this, "您的用户名是:"+username+","+"您的密码是:"+userpass, Toast.LENGTH_LONG).show();
}
/**添加对话框的退出按钮,并且设置按钮响应事件*/
}).setNegativeButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "您取消了登录", Toast.LENGTH_LONG).show();
}
}).show();
}
}
这里我们用到的方法是把其他配置文件中的视图引入到当前视图的 AlertDialog中,作为住页面其中的一个组成部分。
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1 = (Button) this.findViewById(R.id.button1);
button1.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
/**获取引用edittext.xml配置文件中的视图组件*/
LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
final View view = inflater.inflate(R.layout.edittext, null);
/**这里使用链式写法创建了一个AlertDialog对话框,并且把应用到得视图viwe放入到其中*/
/**添加AlertDialog的用户登录按钮,并且设置按钮响应事件*/
new AlertDialog.Builder(MainActivity.this).setTitle("用户登录").setView(view).setPositiveButton("登录",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
<span style="color: #ff0000;">/**获取用户名文本框组件*/
EditText nameEditText = (EditText) view.findViewById(R.id.editText1);
/**获取用户名文本框中输入的内容*/
String username = nameEditText.getText().toString();
/**获取密码文本框组件*/
EditText passEditText = (EditText) view.findViewById(R.id.editText2);
/**获取密码文本框中的内容*/
String userpass = passEditText.getText().toString();</span>
/**创建一个消息框,显示用户的账号与密码*/
Toast.makeText(MainActivity.this, "您的用户名是:"+username+","+"您的密码是:"+userpass, Toast.LENGTH_LONG).show();
}
/**添加对话框的退出按钮,并且设置按钮响应事件*/
}).setNegativeButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "您取消了登录", Toast.LENGTH_LONG).show();
}
}).show();
}
}
一般使用方法:
// LayoutInflater intflater = getLayoutInflater();
// View layout = intflater.inflate(R.layout.rename,null );
//
// AlertDialog.Builder builder = new AlertDialog.Builder(this);
// builder.setTitle("请输入");
// builder.setView(rename);
// builder.setPositiveButton("确定", null);
// builder.setNegativeButton("取消", null);
// builder.show();
// AlertDialog renameDialog = new AlertDialog.Builder(PicVew10Activity.this).create();
// renameDialog.setView(layout);
// renameDialog.setButton("确定", new DialogInterface.OnClickListener() {
//
// public void onClick(DialogInterface dialog, int which) {
// // TODO Auto-generated method stub
// String rePicName = rename.getText().toString();
//// String rePicName = picName;
// Picture reNamePic = new Picture();
// reNamePic.setPicName(rePicName);
// db.updateName(reNamePic);
// }
// });
// renameDialog.setButton2("取消", new DialogInterface.OnClickListener(){
//
// public void onClick(DialogInterface dialog, int which) {
// // TODO Auto-generated method stub
// }
// });
// renameDialog.show();
相关文章推荐
- Android之AlertDialog的使用
- android基础AlertDialog使用
- Android Studio App AlertDialog使用范例
- Android消息提示:AlertDialog、Toast、Notification的使用
- android Alertdialog.Bulider简单使用
- android AlertBuilder创建的dialog,使用自定义样式
- Android开发基础之AlertDialog的列表对话框的使用
- Android开发基础之AlertDialog的单选对话框的使用
- 《转载》Android AlertDialog 方法setView(view,0,0,0,0)的使用
- 关于Android中AlertDialog的使用问题:点击AlertDialog外部不消失的代码操作
- android学习之AlertDialog使用
- android AlertDialog的简单使用
- android AlertDialog多种使用方法详解
- android—使用AlertDialog.Builder对话框
- ANDROID中自定义对话框AlertDialog使用示例
- Android笔记之AlertDialog使用
- Android 使用AlertDialog.Builder构造对话框dialog全过程
- Android中的对话框AlertDialog使用技巧合集
- Android中的对话框AlertDialog使用技巧合集
- Android之对话框AlertDialog及其子类的使用(二)