Android 学习笔记(8)——AlertDialog

作者:夏至  欢迎转载,也请保留这段申明,谢谢


这节呢,我们来学习AlertDialog,这个是就是一个提示框啦,比如我们在退出某件的软件的时候呢,它就会跳出来,是否要退出啦?那么我们今天也来学习这个功能。不过这接货比较特殊,我们不能直接在layout层去设置它,因此我们要用调用类的方式去调用它。

1.基本使用流程

·Step 1:创建AlertDialog.Builder对象;

·Step 2:调用setIcon()设置图标,setTitle()或setCustomTitle()设置标 题;

·Step 3:设置对话框的内容:setMessage()还有其他方法来指定显示的内 容;

·Step 4:调用setPositive/Negative/NeutralButton()设置:确定,取消, 中立按钮;

·Step 5:调用create()方法创建这个对象,再调用show()方法将对话框显 示出来;

注意上面标红的对应关系。

首先我们先创建一个button退出按键,当我们按下退出时,弹出提示框。

  1. <Button
  2.     android:id="@+id/btncancel"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="wrap_content"
  5.     android:text="退出"
  6. />

接下来我们需要调用这个类

  1. public class MainActivity extends Activity implements View.OnClickListener {
  2. @Override
  3. protected void onCreate(Bundle savedInstanceState) {
  4. super.onCreate(savedInstanceState);
  5. setContentView(R.layout.aty_alterdialog);
  6. Button button = (Button)findViewById(R.id.cancel);
  7. button.setOnClickListener(this);
  8. }
  9. @Override
  10. public void onClick(View v) {
  11. switch (v.getId()){
  12. case R.id.cancel:
  13. AlertDialog.Builder dialog = new AlertDialog.Builder(this); //step 1
  14. dialog.setTitle("系统提示"); // step 2
  15. dialog.setMessage("确定要退出吗"); // step 3
  16. dialog.setCancelable(false);
  17. dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { // step 4
  18. @Override
  19. public void onClick(DialogInterface dialog, int which) {
  20. Toast.makeText(MainActivity.this, "你选择了确定", Toast.LENGTH_SHORT).show();
  21. finish();
  22. }
  23. }).create(); // step 5 这里creat() 用不用都可以,默认是用上的。
  24. dialog.setNeutralButton("中立", new DialogInterface.OnClickListener() {
  25. @Override
  26. public void onClick(DialogInterface dialog, int which) {
  27. Toast.makeText(MainActivity.this,"你选择了中立",Toast.LENGTH_SHORT).show();
  28. }
  29. });
  30. dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
  31. @Override
  32. public void onClick(DialogInterface dialog, int which) {
  33. Toast.makeText(MainActivity.this, "你选择了取消", Toast.LENGTH_SHORT).show();
  34. }
  35. });
  36. dialog.show();
  37. break;
  38. }
  39. }
  40. }

这样就ok啦,快去实践一下吧。

如有错误,欢迎指出,如果喜欢,欢迎收藏!

来自为知笔记(Wiz)

时间: 2024-08-08 12:45:12

Android 学习笔记(8)——AlertDialog的相关文章

Android学习笔记(四二):SQLite、ListView、ContextMenu

继续上一个例子,结合ListView中对SQLite进行操作. 通过CursorAdapter在ListView中的数据呈现 在上一个例子中,我们可以对SQLite中的数据库进行增删改查,将数据读到游标Cursor中,然后一一读出.在Android中可以通过CursorAdapter直接将数据映射到ListView中,如下处理: public class Chapter22Test1 extends ListActivity{    private SQLiteDatabase  db = nu

Android学习笔记二十九之SwipeRefreshLayout、RecyclerView和CardView

Android学习笔记二十九之SwipeRefreshLayout.RecyclerView和CardView 前面我们介绍了AlertDialog和几个常用的Dialog,ProgressDialog进度条提示框.DatePickerDialog日期选择对话框和TimePickerDialog时间选择对话框.这一节我们介绍几个新的API控件SwipeRefreshLayout.RecyclerView和CardView,这几个API控件都是google在Android5.0推出的.下面我们来学

Android学习笔记(七)——显示对话框窗口

显示对话框窗口 1.创建Dialog1项目,在activity_main.xml文件中添加一个Button: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:l

Android学习笔记进阶之在图片上涂鸦(能清屏)

Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java [java] view plaincopy package xiaosi.handWriting; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import andro

Android学习笔记——关于onConfigurationChanged

从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidManifest.xml申明Activity的广告SDK都会要求加上注明这么一句属性: android:configChanges="orientation|keyboard|keyboardHidden" 通过查阅Android API可以得知android:onConfigurationChanged实际对应的是Activity里的onConfigurationChan

Android学习笔记18:自定义Seekbar拖动条式样

Android学习笔记18:自定义Seekbar拖动条式样

Pro Android学习笔记(三三):Menu(4):Alternative菜单

什么是Alternative menu(替代菜单) 举个例子,Activity显示一个文本文件.如果用户想对文本文件进行编辑,Activity不提供编辑能力,但可由其他activity或者其他应用提供.我们将相关信息存储在一个intent中,例如该文本的Uri.这个intent可以匹配系统的多个应用,替代菜单将这些应用一一列出,菜单项的title就是该可被调用的activity的名字,图标也为该可被调用的activity的图表. 小例子说明 我们通过一个小例子进行学习,简单地打开一个URL:we

Android学习笔记(二二): 多页显示-Tag的使用

在手机屏幕中,Tab也是比较常用的,通常和List结合,例如我们手机的通信录.下面是Tag的结构. TabHost是整个Tab的容器,包括两部分,TabWidget和FrameLayout.TabWidget就是每个tab的标签,FrameLayout则是tab内容. 如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhost TabWidget必须设置android:id为@android:id/tabs F

android学习笔记--android启动过程之init.rc文件浅析

1.  init.rc文件结构文件位置:init.c  : /system/core/initinit.rc  : /system/core/rootdir 首先init.rc文件是以模块为单位的,每个模块里的内容都是一起执行的,模块分为3种类型:on.service.import.我们可以看下init.rc文件是怎么写的:1.import import /init.usb.rc import /init.${ro.hardware}.rc import /init.trace.rc 上面的内容

android学习笔记——利用BaseAdapter生成40个列表项

RT: main.xml ? 1 2 3 4 5 6 7 8 9 10 11 12 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"               android:orientation="vertical"