1
2
3
| Intent i = new Intent(MainActivity. this , SecondView. class ); startActivity(i); finish(); |
Coba run contoh dari .this dan .class yang dibuat di bawah ini :
MainActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| public class MainActivity extends Activity { TextView text1, text2, text3; String namaKelas1, namaKelas2, suatuKata; KelasContoh kelasContoh; public void onCreate(Bundle b) { super .onCreate(b);<br> setContentView(R.layout.activity_main); text1 = (TextView) findViewById(R.id.textView1); text2 = (TextView) findViewById(R.id.textView2); text3 = (TextView) findViewById(R.id.textView3); kelasContoh = new KelasContoh(); kelasContoh.kegiatan1(); namaKelas1 = kelasContoh.kegiatan2(MainActivity. class ); namaKelas2 = kelasContoh.kegiatan2(MainActivity. class .getSuperclass()); text2.setText(namaKelas1); text3.setText(namaKelas2); } public void menampilkanKata(String a) { text1.setText(a); } class KelasContoh { public void kegiatan1() { MainActivity. this .menampilkanKata( "berhasil memakai method MainActivity" ); } public String kegiatan2(Class<?> noNameClass) { return "Nama kelas : " + noNameClass.getName(); } public void kegiatan3() { } } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| android:layout_width = "match_parent" android:layout_height = "match_parent" android:paddingBottom = "@dimen/activity_vertical_margin" android:paddingLeft = "@dimen/activity_horizontal_margin" android:paddingRight = "@dimen/activity_horizontal_margin" android:paddingTop = "@dimen/activity_vertical_margin" tools:context = "andika.app.MainActivity" > < TextView android:id = "@+id/textView1" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_alignParentTop = "true" android:layout_centerHorizontal = "true" android:layout_marginTop = "24dp" android:text = "Large Text" /> < TextView android:id = "@+id/textView2" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_alignRight = "@+id/textView1" android:layout_below = "@+id/textView1" android:layout_marginTop = "48dp" android:text = "Large Text" /> < TextView android:id = "@+id/textView3" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_alignLeft = "@+id/textView2" android:layout_below = "@+id/textView2" android:layout_marginTop = "48dp" android:text = "Large Text" /> </ RelativeLayout > |
Coba run code nya...
1. .this
Pengertian .this hampir sama dengan this. Kenapa bisa ada .this ? .this sering digunakan ketika kita membuat inner class. Dari source code yang ada di atas MainActivity.this adalah objek dari class MainActivity lalu memanggil method menampilkanKata yang ada di dalam class MainActivity.
1
2
3
| public void menampilkanKata(String a) { text1.setText(a); } |
1
2
| public void kegiatan1() { MainActivity. this .menampilkanKata( "berhasil memakai method MainActivity" );<br>} |
.class artinya objek class dari suatu class. MainActivity.class adalah objek class dari class MainActivity. Jika kita mengeprint nama class nya yang dilakukan pada kegiatan2 maka terbukti bahwa MainActivity.class adalah class MainActivity.
Di dalam onCreate :
1
2
3
| namaKelas1 = kelasContoh.kegiatan2(MainActivity. class );<br>namaKelas2 = kelasContoh.kegiatan2(MainActivity. class .getSuperclass()); text2.setText(namaKelas1); text3.setText(namaKelas2); |
1
2
3
| public String kegiatan2(Class<?> noNameClass) { return "Nama kelas : " + noNameClass.getName(); } |
Referensi :
http://docs.oracle.com/javase/specs/jls/se8/jls8.pdf
No comments:
Post a Comment