showDialog()和onCreateDialog()方法過時,如何創建一個Dialog?


過去在應用中創建Dialog都是復寫Activity基類中定義的受保護的onCreateDialog()方法,然后使用showDialog()方法以顯示Dialog。但是最近在用API 21進行開發的時候發現這種方法已經過時了,查看API文檔,發現這兩個方法在從API 13開始就被棄用了。。。在網上查了好長時間,看了一些其他人的博客,終於算是搞出了一個Dialog。我所創建的Dialog是最簡單的AlertDialog,界面不需要自己定義的那種o(^▽^)o

下面上代碼。

Dialog helpDialog = new AlertDialog.Builder(ItemDetail.this)
                    .setMessage("ThisIsADialog")
                    .setPositiveButton("確定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(ItemDetail.this,"已確定",Toast.LENGTH_SHORT).show();                           
                         })
                    .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(ItemDetail.this,"已取消",Toast.LENGTH_SHORT).show();
                        }
                    }).create();
            helpDialog.show();

在這里直接創建一個Dialog對象就可以了,調用show()方法就可以顯示該Dialog。

目前我還只會以這一種方式創建Dialog,在starkoverflow上看到有人說Google官方推薦使用DialogFragment類,我還沒有嘗試過。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM