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方法来显示信息的

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