常見對話框

(1)普通對話框

// 點擊按鈕 彈出一個普通對話框public void click1(View v) {// 構建AlertDialogAlertDialog.Builder builder = new Builder(this);builder.setTitle("警告");builder.setMessage("世界上最遙遠的距離是沒有網絡");builder.setPositiveButton("確定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.out.println("點擊了確定按鈕 執行的邏輯");}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.out.println("點擊了取消按鈕");}});// 最后一步一定要記得 show出來
        builder.show();}

(2)單選對話框

// 點擊按鈕 彈出一個單選對話框public void click2(View v) {// 構建AlertDialogAlertDialog.Builder builder = new Builder(this);builder.setTitle("請選擇您喜歡的課");final String items[] = { "Android", "ios", "php", "c", "C++", "html" };builder.setSingleChoiceItems(items, -1, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 取出點中的條目String item = items[which];Toast.makeText(getApplicationContext(), item, 1).show();// 關閉當前對話框
                dialog.dismiss();}});// 最后一步一定要記得 show出來
        builder.show();}

(3)多選對話框

// 點擊按鈕 彈出一個多選對話框public void click3(View v) {// 構建AlertDialogAlertDialog.Builder builder = new Builder(this);builder.setTitle("請選擇您喜歡吃的水果");final String items[] = { "榴蓮", "蘋果", "葡萄", "香蕉", "黃瓜", "火龍果", "荔枝" };final boolean[] checkedItems = { true, false, false, false, false,false, true };builder.setMultiChoiceItems(items, checkedItems,new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which,boolean isChecked) {}});builder.setPositiveButton("確定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {StringBuffer sb = new StringBuffer();// [1]把你選中的水果給取出來for (int i = 0; i < checkedItems.length; i++) {if (checkedItems[i]) {// 就證明是選中的String fruit = items[i];sb.append(fruit + " ");}}Toast.makeText(getApplicationContext(), sb.toString(), 1).show();// 關閉對話框
                dialog.dismiss();}});// 最后一步一定要記得 show出來
        builder.show();}

(4)進度條對話框

//進度條對話框public void click4(View v) {//與進度相關的控件都可以直接在子線程更新ui final ProgressDialog dialog = new ProgressDialog(this);dialog.setTitle("正在玩命加載ing");dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);dialog.show();//設置進度條的最大值 dialog.setMax(100);new Thread(){public void run() {for (int i = 0; i <= 100; i++) {//設置當前的進度 
                SystemClock.sleep(50);//睡眠50毫秒
                dialog.setProgress(i);}//關閉對話框
            dialog.dismiss();};}.start();}

?

補充 2種上下文的區別
this:mainActivity 子類?
getApplicationContext(): 返回Context?父類
對話框不能用getApplicationContext();

轉載于:https://www.cnblogs.com/xufengyuan/p/5971120.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373660.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373660.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373660.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaScript學習隨記——面向對象編程(繼承)

Example:基于原型鏈的繼承 <!DOCTYPE HTML> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>面向對象編程&#xff08;OOP&#xff09;</title></head> <body>…

NSCharacterSet

先上個例子&#xff1a; NSString * str1 [nameInput.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]]; NSString * str2 [passwdInput.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]]; […

Apache Mahout:構建垃圾郵件過濾器服務器

Lucene發生了一些相當有趣的事情。 它最初是作為一個庫&#xff0c;然后其開發人員開始基于它添加新項目。 他們開發了另一個開源項目&#xff0c;該項目將向Lucene添加爬網功能&#xff08;以及其他功能&#xff09;。 Nutch實際上是任何人都可以使用或修改的功能齊全的Web Se…

建模步驟_古建設計 | sketchup建模步驟教程(簡易入門版)

前言本篇教程主要是針對古建建模入門者。小N給大家分享一套我相對簡易的建模步驟。(PS&#xff1a;但是估計有些人可能會感覺我做的東西已經繁瑣了……)因為主要是為了讓大家熟悉、入門和好記憶。所以講的東西&#xff0c;小N我會相對簡單&#xff0c;有些細節的內容不會更多展…

JavaScript模塊化

JavaScript模塊化的實現方式&#xff1a; <!DOCTYPE HTML> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>模塊化</title></head> <body><script type&quo…

Linux下面的IO模型

1. Linux下的五種I/O模型 阻塞I/O模型&#xff1a; 一直阻塞 應用程序調用一個IO函數&#xff0c;導致應用程序阻塞&#xff0c;等待數據準備好。 如果數據沒有準備好&#xff0c;一直等待….數據準備好了&#xff0c;從內核拷貝到用戶空間,IO函數返回成功指示。 我們 第一…

改變導航欄上邊的狀態欄顏色

#pragma mark - 改變狀態欄顏色 -(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }轉載于:https://www.cnblogs.com/block123/p/5195203.html

PIT和TestNG突變測試簡介

變異測試是一種技術&#xff0c;它可以發現測試未涵蓋代碼的哪些部分。 它類似于代碼覆蓋范圍 &#xff0c;但變異測試不限于在測試期間執行給定行的事實。 這個想法是修改生產代碼&#xff08;引入突變&#xff09;&#xff0c;這應該改變其行為&#xff08;產生不同的結果&am…

JavaScript內存管理——優化內存占用

使用具備垃圾收集機制的語言編寫程序&#xff0c;開發人員一般不必操心內存管理的問題。但是&#xff0c;JavaScript在進行內存管理及垃圾收集時面臨的問題還是有點與眾不同。其中最主要的一個問題&#xff0c;就是分配給Web瀏覽器的可用內存數量通常要比分配給桌面應用程序的少…

Java 8的烹調方式– Lambda項目

什么是project lambda &#xff1a;Project lambda是用于以Java語言語法啟用lambda表達式的項目。 Lambda表達式是功能編程語言&#xff08;如lisp&#xff09;中的主要語法。 Groovy將是支持lambda表達式&#xff08;也稱為閉包&#xff09;的java的最接近親戚。 那么什么是la…

ffmpeg文檔38-視頻源

38 視頻源 下面是當前有效的視頻源 buffer 緩沖視頻幀&#xff0c;其可以作為濾鏡鏈圖的環節 它通常用于編程&#xff0c;特別是通過libavfilter/vsrc_buffer.h的接口。 接受如下參數&#xff1a; video_size 指定視頻尺寸&#xff0c;(同時指定width 和 height)。語法同于ffmp…

系統架構的演變 -----自 羅文浩

轉自&#xff1a;https://my.oschina.net/lwhmdj0823/blog/617713版權聲明&#xff1a;羅文浩所有摘要: 一個成熟的大型網站&#xff08;如淘寶、京東等&#xff09;的系統架構并不是開始設計就具備完整的高性能、高可用、安全等特性&#xff0c;它總是隨著用戶量的增加&#x…

前端請求接口post_前端如何優雅地模擬接口請求?(給你的代碼加點小意外)

前言&#xff1a;作為一名前端開發程序猿&#xff0c;每天都被產品經理催著開發&#xff0c;項目一啟動&#xff0c;產品就過來了。噓寒問暖&#xff1a;大胸弟&#xff0c;你啥時開始做啊&#xff1f;一般我們都會直接告訴TA&#xff0c;你先找接口解決數據問題。而我們也會經…

cron表達式詳解

Cron表達式是一個字符串&#xff0c;字符串以5或6個空格隔開&#xff0c;分為6或7個域&#xff0c;每一個域代表一個含義&#xff0c;Cron有如下兩種語法格式&#xff1a; Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month …

將Ehcache添加到Openxava應用程序

介紹 本文介紹如何在Openxava應用程序上快速啟用Ehcache&#xff0c;從而提高性能。 查看實體及其圖時&#xff0c;將加載關系。 添加第二級緩存可加快關聯元素的檢索速度&#xff0c;因為已加載的元素是從緩存而不是數據庫中檢索的。 最終&#xff0c;該頁面解釋了分鐘項目如…

java mongodb 返回所有field_JAVA高級之反射

更多精彩&#xff0c;請點擊上方藍字關注我們&#xff01;今天跟大家分享JAVA高級之反射的知識。一、什么是反射反射就是把Java類中的各個成分映射成一個個的Java對象。即在運行狀態中&#xff0c;對于任意一個類&#xff0c;都能夠知道這個類的所以屬性和方法&#xff1b;對于…

Linux入門筆記——cal、date、free、clear、history、man、whatis、uname

1、cal 顯示日歷2、date 顯示系統當前的日期和時間3、df查看磁盤剩余空間的數量&#xff0c;常用參數 -h &#xff08;human&#xff09;人性化顯示內容4、free顯示空閑內存的數量&#xff0c;常用參數 -h &#xff08;human&#xff09;人性化顯示內容5、clear清除控制終端顯示…

使用ASM 4處理Java類文件–第一部分:世界,您好!

什么是ASM &#xff1a;ASM是一個用于處理Java字節碼的開源Java庫。 因此&#xff0c;它具有與Apache BCEL相同的目的。 由于本文假定讀者具有Java類文件格式的某些知識&#xff0c;因此建議在此處進行閱讀。 那么它與BCEL有何不同&#xff1f; 首先&#xff0c;它允許使用事件…

(轉)C#程序開發中經常遇到的10條實用的代碼

原文地址&#xff1a;http://www.cnblogs.com/JamesLi2015/p/3147986.html 1 讀取操作系統和CLR的版本 OperatingSystem os System.Environment.OSVersion; Console.WriteLine(“Platform: {0}”, os.Platform); Console.WriteLine(“Service Pack: {0}”, os.ServicePack); …

Ueditor的配置及使用

Ueditor官網&#xff1a;http://ueditor.baidu.com/website/ &#xff08;項目需要JSP版本&#xff1a;UTF-8版&#xff09; 1.配置 <script type"text/javascript" charset"utf-8">window.UEDITOR_HOME_URL "${ctx}/assets/plugins/uedi…