安卓中級教程(1):@InjectView

时间:2022-08-01 22:36:37
 1 package com.mycompany.hungry;
2
3 import android.annotation.SuppressLint;
4 import android.app.Activity;
5 import android.content.Intent;
6 import android.os.Bundle;
7 import android.view.View;
8 import android.view.View.OnClickListener;
9 import android.view.Window;
10 import android.widget.TextView;
11
12 import com.mycompany.R;
13 import com.mycompany.util.InjectView;
14 import com.mycompany.util.Injector;
15
16 public class WelcomeActivity extends Activity {
17 @InjectView(R.id.welcome_start_order)
18 //InjectView是一種高級的尋找Id方法,等同於findIdByView,它可以省卻了不少傳統的編碼。
19 private TextView start;
20 //當我們在日後要召喚變量start時,我們就必須從一開始對start進行定義。
21
22 @SuppressLint("NewApi")
23 //@SuppressLint("NewApi")。Android版本會更新,新的版本帶來新的特性,新的方法。新的方法帶來許多便利,但無法在低版本系統上運行,如果兼容性處理不恰當,APP在低版本系統上,運行時將會crash。
24 @Override
25 protected void onCreate(Bundle savedInstanceState) {
26 super.onCreate(savedInstanceState);
27
28 requestWindowFeature(Window.FEATURE_NO_TITLE);
29 //全句使用,句法意思是全螢幕,但若果是要完完全全的全螢幕,就必須寫齊以下三句:
30 //requestWindowFeature(Window.FEATURE_NO_TITLE);
31 //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
32 //WindowManager.LayoutParams.FLAG_FULLSCREEN);
33 setContentView(R.layout.welcome);
34 Injector.get(this).inject();
35 //injector是另一個Java檔。init views
36 start.setOnClickListener(new OnClickListener()
37 //start是個button制,現在設置監聽器。
38 {
39
40 @Override
41 public void onClick(View v) {
42 Intent intent = new Intent (WelcomeActivity.this,HomePageActivity.class);
43 //定義intent的類型是意向的類型,在這裡的意向是指從這一頁跳去另一頁。
44 startActivity(intent);
45 //執行上述指令,不可不寫。
46 finish();
47 }
48 });
49
50 }
51
52
53 }