2012-02-28 95 views
0

我跟着一個教程,然後我得到這個代碼在我的Android XML佈局需要傳遞的參數:的android:如何知道,從Android的XML

<Button 
android:id="@+id/button1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
**android:onClick="onClick"** 
android:text="Button" /> 

然後在java文件有方法:

public void **onClick(View view)**{ 
    //...something... 
} 

所以我沒有任何想法爲什麼從xml發送「查看」參數, 至少我需要知道xml所需的參數。 有很多代碼,這樣,和android文件並沒有很好的解釋這個

回答

1

的看法是你的視圖的實例(在你的情況下按鈕)。而它檢查像view.getId(); ....

如果您使用的onClick方法對於多個按鈕.....

switch(view.getId()){ 
case R.id.btn1: 
    //click on btn1 
case R.id.btn2: 
    //click on btn2 
case R.id.btn3: 
    //click on btn3 
} 
0

查看參數是按鈕,點擊或單擊已註冊的onclick任何其他佈局或視圖。 當假設有兩個按鈕,其將在clicked.So onlclik可以檢查是否視圖==按鈕1或BUTTON2等

0

任何對象將有一個視圖..

所以當的onClick(它是用來視圖視圖)在這裏發生,這個視圖變量(的類型視圖)可用於進一步編碼(只是在//東西后).. 傳遞參數是有用的作爲「標識符」什麼Click事件發生在哪個視圖上屏幕..在這裏考慮視圖不只是在現實生活中的意見,但UI中的任何元素,如TextView,Button,EditText,ImageView ..

所以這是非常有用的代碼,知道那裏發生的點擊,或者是用戶實際點擊..

here is some reference for deeper understanding of Views

此類表示用戶界面 部件的基本構建塊。視圖佔據屏幕上的矩形區域,並負責繪圖和事件處理。 View是 小部件的基類,用於創建交互式UI組件(按鈕, 文本字段等)。

希望它有助於..

0

當你實現了一個OnClickListener您必須重寫的onClick(查看視圖)方法,其中參數的觀點是什麼,但你點擊了哪些實際的看法。

例如假設您的佈局中有2個按鈕,並且您在兩者上應用了單擊事件。現在,您的活動類實現OnClickListener,那麼你需要檢查單擊視圖這樣:

public void onClick(View view){

if (view == button1){ 
     // Do Something on Button1 click 
    } else if (view == button1){ 
     // Do Something on Button1 click 
    } 

}

我希望這將有助於。