Android ch03 Activity_layout and Button 點擊事件

來源:互聯網
上載者:User

標籤:載入   XML   沒反應   public   widget   btn   自動產生   next   extend   

Android 中的介面跳轉,其實就是一個個的 Activity ,下面看下怎麼建立新的 Activity 布局

在項目 res 裡面的  layout檔案夾上右鍵 new -> Other -> Android檔案夾 下面的 -> Android XML Layout File 

 

 

 Next 之後 然後 在 File 那裡寫檔案名稱, Root Element:裡選個布局 ,然後 Finish 就建立成功

 

    可以在 Form Widgets 中拖個 Button 按鈕 過介面那裡

  

  雙擊 Button 這個 按鈕 會進入到 源碼那裡,會自動產生 有關 剛剛點擊的 Button的介面布局代碼

  

 

  然後就在 ManActivity 裡載入這個資源布局 ,通過 setContentView 這個方法來載入 資源布局,傳入 R.layout.test 這個布局

  R.layout.test 其實就在 之前建立在 layout 裡的 xml 檔案 ,這樣就可以載入布局了

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//        setContentView(R.layout.activity_main);        setContentView(R.layout.test);              }}

  然後 運行,載入成功

   

  到這裡,我想搞事情啦,點擊 Button ,我發現什麼效果都沒,我想能和 JavaScript 一樣彈出點資訊出來一樣,點了半天都沒反應,JavaScript 有點擊事件,

  這裡也應該有吧,果然是有方法如下

方法一: 在 MainActivity 的方法 onCreate 裡,通過 findViewById()方法找到布局裡的控制項,通過 Button 的 setOnClickListener() 方法傳入個 

  事件監聽的介面 OnClickListener 介面,這裡採用的是匿名內部類的方法,實現 onClick(View v) 這個方法就可以啦

 private Button btn1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//        setContentView(R.layout.activity_main);        setContentView(R.layout.test);        btn1 = (Button) findViewById(R.id.testButton1);        btn1.setText("點我");        btn1.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                /**                 * Toast 類似與彈框一樣的                 * context : 上下文,指的是 Activity,所以寫 MainActivity.this 就可以了                 * text : 常值內容                 * duration : 時間,int 類型數值                 */                Toast.makeText(MainActivity.this, "你好 Android ", 1).show();            }        });            }

然後 看看效果:

  

 

方法二:

  之前的步驟一樣,差別在於,在 Button 的 setOnClickListener() 方法裡傳入的是一個實作類別,

  建立一個 類 去實現 OnClickListener 介面 

public class Btn1ClickListener implements OnClickListener {    private Context context;        public Btn1ClickListener(Context context) {        this.context = context;    }        @Override    public void onClick(View v) {        Toast.makeText(context, "你好 Android 1班", 1).show();    }}

  就可以在 MainActivity 裡直接用了 

  protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//        setContentView(R.layout.activity_main);        setContentView(R.layout.test);      /* *//**        * 第二種方法         */        btn1 = (Button) findViewById(R.id.testButton1);        btn1.setText("點我");        // 直接 new 個執行個體出來 傳入 content 就可以了        btn1.setOnClickListener(new Btn1ClickListener(this));            }

  效果如下:

  

 

  

Android ch03 Activity_layout and Button 點擊事件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.