AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog. 要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法. 使用AlertDialog.Builder创建对话框需要了解以下几个方法: setTitle :为对话框设置标题setIcon :为对话框设置图标setMessage:为对话框设置内容setView : 给对话框设置自定义样式setItems :…
今天无意中发现AlertDialog的 setMessage(String)的换行问题,很多人都说\n可以,不过的却原来就在java里面写好的是可以换行 ,但是如果这个string是在网页或者是其地方读回来,可能是流的方式回来的话.例如apk更新的提示内容,会出现\n无效 如果能控制这个返回的string中的用于换行的符号的话,那么建议是先用别的符号代替,然后获取到了之后用replaceAll("@#","\n"),这样就可以了. 如果是控制不了的话,那就先把\n换…
错误报告: 10-20 14:34:46.565: E/AndroidRuntime(23098): FATAL EXCEPTION: main10-20 14:34:46.565: E/AndroidRuntime(23098): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 问题分析: 在AlertDialog.Builder…
      什么是Buidler模式呢?就是将一个复杂对象的构建与它的表示分离,使得相同的构建过程能够创建不同的表示.Builder模式是一步一步创建一个复杂的对象,它同意用户能够仅仅通过指定复杂对象的类型和内容就能够构建它们. 那么要为何使用Buidler呢? 是为了将构建复杂对象的过程和它的部件分开由于一个复杂的对象,不但有非常多大量组成部分,如AlertDialog对话框,有非常多组成部件,比方Tittle,Message,icon,PositiveButton等等,但远不止这些,怎样将这…
AndroidAPI提供了Dialog对话框控件,但google明确指出不建议开发者只是使用Dialog来创建对话框,而应该自定义对话框或者使用API中提供的Dialog的子类,如AlertDialog.接下来记录下AlertDialog的具体使用,供广大初学者学习,也供自己日后查阅. 首先在资源文件xml中写入一个按钮. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln…
Stack Overflow 排错翻译  - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder 转自:http://www.lanqibing.com/archives/783.html 原文: In the following code, I tried to dismiss the AlertDialog box but to no avail. However, if I remove compa…
  我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框.当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢?     幸…
有时,在处理业务逻辑的时候,需要Context对象,但在某些情况下,并非容易获取,这时就需要一些巧妙的手段来管理Context. 在Android中,提供了一个类Application,当应用程序启动的时候,系统会自动将这个类进行初始化,所以我们可以编写自己的Application类以管理一些全局的状态信息. 在这里,以获取全局Context为例. 1.编写自己的Application类 package com.example.testapplication; import android.ap…
getSystemService是Android很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象.下面介绍系统相应的服务: 传入的Name 返回的对象 说明 WINDOW_SERVICE  WindowManager 管理打开的窗口程序 LAYOUT_INFLATER_SERVICE LayoutInflater  取得xml里定义的view ACTIVITY_SERVICE ActivityManager  管理应用程序的…
import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class Main extends Activity…
在Android应用开发中,有的类里面需要声明一个Context的成员变量,然后还需要在该类的构造函数中加上this.context=context;这行代码.为什么要这么写呢?不写不行么? 先看下面这个例子,这是我在百度空间看到的: Button button=new Button(this); 括号里的this当然就是本质上Context,其指向的就是当前的Activity,原因形象点说就是Button为了能相应各种操作,记得让Android系统知道自己是属于哪个Activity,这个信息是…
android的自定义对话框,不需要通过继承的方式来实现,因为android已提供了相应的接口Dialog Builder ,下面就是 样例: new AlertDialog.Builder(this)   .setTitle("请输入您要输入的内容分")    .setIcon(android.R.drawable.img_dialog)   .setView(new EditText(this))    .setPositiveButton("确定", null…
自己定义一个view <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" androi…
在应用中自定义一个view,需要获取这个view的布局,需要用到 (LinearLayout) LayoutInflater.from(context).inflate(R.layout.contentitem, null); 这个方法. 一般的资料中的第二个参数会是一个null.通常情况下没有问题,但是如果我想给这个view设置一个对应的类,然后通过这个类来操作的话就会出问题. 先看下面的例子 <?xml version="1.0" encoding="utf-8&q…
前言 网上关于 Context 的文章也已经有不少了,比如值得参考的有: Android Context完全解析,你所不知道的Context的各种细节 Android Context 到底是什么? 但看了一下,发现还有值得讨论的地方,比如这个等式: Context个数 = Service 个数 + Activity 个数 + 1 老实说,我不明白这个等式有什么意义,而且还是错的.首先多进程情况下,Application 对象就不止一个:其次,Activity.Service.Applicatio…
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86…
前言 很高兴遇见你~ 欢迎阅读我的文章. 在文章Android全面解析之由浅及深Handler消息机制中讨论到,Handler可以: 避免我们自己去手动写 死循环和输入阻塞 来不断获取用户的输入以及避免线程直接结束,而是采用事务驱动型设计,使用Handler消息机制,让AMS可以控制整个程序的运行逻辑. 这是关于android程序在设计上更加重要的一部分,不太了解的读者可以前往阅读了解一下.而当我们知道android程序的程序是通过main方法跑起来的,然后通过handler机制来控制程序的运行…
f(Build.VERSION.SDK_INT >10) builder =newAlertDialog.Builder(getActivity(), R.style.Theme.Sherlock.Dialog);else builder =newAlertDialog.Builder(getActivity()); AlertDialog.Builder builder;try{ builder =newAlertDialog.Builder(getActivity(), R.style.Th…
1.The constructor AlertDialog.Builder(new View.OnKeyListener(){}) is undefined等,应该有很多类似问题 比如你的源码文件名是 Activity.java,就改成Dialog dialog=new AlertDialog.Builder(Activity.this);因名称而异.在listener中的this指代的并不是Activity里的this,而两个this成员和方法是完全不一样的,所以会出错,需要告诉IDE即将访问…
这个问题之前一直困扰我,我的需求就是点击对话框外面和按返回键对话框不会消失,按返回键还好解决,拦截下返回键就OK了. 但是点击外面不好解决.之前有人说模态对话框,我看了一会,觉得不是我想要的效果.popWindow的话,必须提供父view. 重新看下api,发现设置setCancelable属性就行了. 如: public void showNoProject(){ Builder builder = new AlertDialog.Builder(MainActivity.this) .set…
1.在测试时,如何实现一个提示 可以使用 Toast.makeText(this, "这是一个提示", Toast.LENGTH_SHORT).show(); //从资源文件string.xml 里面取提示信息 Toast.makeText(this, getString(R.string.welcome), Toast.LENGTH_SHORT).show(); 这个提示会几秒钟后消失 2.可以使用AlertDialog.Builder 才产生一个提示框. 例如像messagebox…
原文网址:http://blog.sina.com.cn/s/blog_8f1c79dd0101a63u.html 在Android开发中,常常需要调用对话框,但会遇到这样一种情况,在显示对话框的时候,点击对话框以外的屏幕其他区域,会关闭对话框.以下是解决该问题的设置:   AlertDialog.Builder builder = new AlertDialog.Builder(context); //不关闭写法builder.setCancelable(false);  //关闭写法buil…
关于 Builder 模式 详述:http://blog.csdn.net/jjwwmlp456/article/details/39890699 先来张图 看到 Android  中 使用了 Builder 模式的地方还是非常多的. 使用时 大概例如以下: Notification noti = new Notification.Builder(context).build(); AlertDialog dialog = new AlertDialog.Builder(context).cre…
原文网址:https://blog.csdn.net/u010694658/article/details/53022294 由于开发中经常使用弹框,然而系统自带的弹框太局限,也不太美观,经常不能满足开发需求,所以就只能自定义布局.其实自定义布局很简单,没不要写出来,但是如果不写一遍的,后面遇到的话就感觉又会忘记,所以在次记一小笔,仅记一个最简单的例子,可以举一反三.  直接上代码 public class MainActivity extends Activity implements OnC…
1.先创建activity_alert_dialog.xml <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.andro…
LayoutInflater inflater = this.getLayoutInflater(); View view = inflater.inflate(R.layout.test_alertdialog_listview,null); ListView lv = (ListView)view.findViewById(R.id.test_alertdialog_listview); lv.setAdapter(new ArrayAdapter(this,android.R.layout…
我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框.当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢?     幸运的…
在Android中,弹出对话框使用AlertDialog.Builder方法. new AlertDialog.Builder(MainActivity.this).setTitle("本机设置") .setView(view) .setPositiveButton("确定",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface v, int arg…
在Android 4.2 中不推荐使用showDialog弹窗,这里简单总结一下AlertDialog的使用方法,以后复习的时候看着方便,详细使用方法需要的时候再研究. setTitle :为对话框设置标题setIcon :为对话框设置图标setMessage:为对话框设置内容setView : 给对话框设置自定义样式setItems :设置对话框要显示的一个list,一般用于显示几个命令时setMultiChoiceItems :用来设置对话框显示一系列的复选框setNeutralButton…
package com.example.alertdialog; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.view.Menu; import android.view.View; import android.widget.Toast; public cl…