非阻塞的AlertDialog的代码实现
来源:互联网 发布:淘宝类目007是什么牌子 编辑:程序博客网 时间:2024/05/01 07:46
非阻塞的AlertDialog的代码实现如下:
main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <Button android:id="@+id/Button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="非Layout型对话框"/> <Button android:id="@+id/Button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Layout型对话框"/> <View android:id="@+id/View01" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>
dialoglayout.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <EditText android:id="@+id/textInput" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:textAppearance="?android:attr/textAppearanceMedium" /></LinearLayout>主代码如下
import android.app.Activity;import android.os.Bundle;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class AbsoluteLayout extends Activity { Button btnShowDialog; Button btnShowDialog_Layout; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //定义按钮 btnShowDialog = (Button) this.findViewById(R.id.Button1); btnShowDialog.setOnClickListener(new Click()); btnShowDialog_Layout = (Button) this.findViewById(R.id.Button2); btnShowDialog_Layout.setOnClickListener(new Click()); } //按键处理 class Click implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub if (v == btnShowDialog) showDialog(AbsoluteLayout.this); else if (v == btnShowDialog_Layout) showDialog_Layout(AbsoluteLayout.this); } } //显示基本的AlertDialog private void showDialog(Context context) { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setIcon(R.drawable.bar); builder.setTitle("Title"); builder.setMessage("content"); //确定按钮 builder.setPositiveButton("Button1", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle("点击了对话框上的Button1"); } }); //否定按钮 builder.setNeutralButton("Button2", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle("点击了对话框上的Button2"); } }); //取消按钮 builder.setNegativeButton("Button3", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle("点击了对话框上的Button3"); } }); builder.show(); } //显示基于Layout的AlertDialog private void showDialog_Layout(Context context) { LayoutInflater inflater = LayoutInflater.from(this); final View textEntryView = inflater.inflate( R.layout.dialoglayout, null); final EditText textInput = (EditText) textEntryView.findViewById(R.id.textInput); final AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setCancelable(false); builder.setIcon(R.drawable.bar); builder.setTitle("图片"); builder.setView(textEntryView); builder.setPositiveButton("确认", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle(textInput.getText()); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle(" "); } }); builder.show(); }}android的alertDialog中封装好的一些Button,一般有三个Button:PositiveButton,NegativeButton,NeutralButton, 这些Button和普通的Button没有任何区别,可以写任意的方法,只是命名上的不同,从名字可以看的出来,代表确定,否定,和中立,其实三个Button可以写你任意的方法,只是位置上的不同而已,确定Button一般靠左,这符合阅读习惯。
0 0
- 非阻塞的AlertDialog的代码实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞 connect 的实现
- 多线程下非阻塞堆栈的实现
- 使用CAS实现的非阻塞计数器
- 实现一个非阻塞IO的服务器
- C# 异步非阻塞的接口实现
- connect的内核实现/非阻塞connect
- NIO实现TCP的非阻塞通信
- 非阻塞式connect的实现
- 非阻塞式connect的Linux实现
- 非阻塞式connect的Windows实现
- 使用udp协议给飞Q发送消息
- 第一页,现在的自己写给未来的我。
- Html学习笔记3
- 排序算法
- JDK升级导致TLS证书认证失败
- 非阻塞的AlertDialog的代码实现
- Leet Code 6 ZigZag Conversion
- Redis--aof备份恢复
- POJ 1731:Orders next_permutation
- 从零开始编写图片加载库(五)之图片缓存DiskCache
- 图解测试之稳定性-如何开始稳定性测试
- C++枚举类型
- hdu 5122 简单题
- Html学习笔记5