01/10/2018, 10:15

Cho em hỏi về Toast trong android với ạ

Cho em hỏi về hàm makeTest ạ
tham số Context truyền vào mình ghi là MainActivity.this với ghi là this thì có khác gì nhau không ạ
Em cám ơn ạ

Tuấn Nguyễn viết 12:25 ngày 01/10/2018

tùy vào activity bạn đang code là j

beginner viết 12:16 ngày 01/10/2018

anh giải thích rõ hơn được không ạ

Phạm Vinh viết 12:23 ngày 01/10/2018

Có đấy bạn MainActivity.this và this mang ý nghĩa khác nhau tùy vào nơi bạn gọi từ khóa này
từ khóa this mang ý nghĩa như một địa chỉ (reference) tới chính Object mà nó được gọi bên trong.
Nhưng nếu gặp trường hợp có thêm Inner Class thì bạn phải bỏ thêm tên class đằng trước để dễ phân biệt
VD:

public class MainActivity{
    int x=10;
    class SecondClass{
          int x=1;
          void whichClass(){
                 System.out.println(this.x); //-->1
                 System.out.println(MainActivity.this.x)//-->10
          }
    } 
}

Mình chỉ giải thích khái quát vấn đề thôi. Bạn có thể tìm hiểu thêm ở đây, phần Shadowing
https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
Ở đó cũng nói về Inner class, Nested class và Anonymous class đều là những thứ bạn sẽ gặp phải trong Android nên nếu bạn chưa biết thì nên tìm hiểu luôn.

beginner viết 12:15 ngày 01/10/2018

Em cám ơn anh ạ

Bài liên quan
0