Android學習記錄之:Toast的使用

Toast創建的方法有兩種:

第一種通過使用靜態類的方法創建一個Toast對像,創建方法如下:

Toast toast=Toast.makeTest(this,“ 第一個使用的Toast”,1);

toast.show();

上面代碼等於如下:

Toast.makeTest(this,“ 第一個使用的Toast”,1).show;

makeTest(Context context,String stringm,int time)方法第一個參數是調用這個方法的上下文對象,第二個參數是用戶自己設置的顯示文字,第三個參數是這個Toast顯示的時間,需注意的是是以秒分單位的。

這兩種寫法的效果都是一樣的,可以根據自己的習慣寫法來選擇.

 

第二種方法是通過創建Toast對後,使用Toast對象進行了一系統的設置後,再使用show()方法進行顯示需要注要的是這種方法的創建Toest對象不是通過makeText()方法來返回一個Toast對象,而是通過new 這個關鍵字進行生成的。

代碼如下:

Toast toast = new Toast(this); //this指的是上下文對象

toast.setText(“第一個使用的Toast”);

toast.show();

上面的代碼當執行到toast.setText(“第一個使用的Toast”); 這句的時候,會拋異常,問題出在setText()這個方法裏,如果只是顯示文字消息的,建議使用第一種方法。Toast類雖然有setText()的方法,但這個方法是不能使用在new一個Toast對象之後再使這setText()方法進行設置

如果想在Toast上顯示一些其它的內容,可以使用Toast類的setView()方法設置一個View對象,在設置setView之前可以在View上進行一系統的設置,代碼如下:

View view = getLayoutInflater().inflate(R.layout.toast, null);
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText("第一個使用的Toast");
Toast toast = new Toast(this);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(view);
toast.show();

可能會有人問,爲什麼new一個Toast對象,使用setText()方法會出錯,原因是在調用setText()方法時View的對象還沒有創建出來,所以會拋出異常,所以使用new這個方法的時候,記得創建一個View對象並在上面進行一系列的設置後,通過setView()設置後,再使用Toast的show()方法進行顯示。

makeText()方法跟上面的代碼類似,因爲兩者都是設置了一個View對象,因爲Toast方法實際就是通過一個View方法來顯示信息的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章