【发布时间】:2016-05-26 10:17:08
【问题描述】:
我正在经历 Head First Android 开发,我有点困惑 这个方法 --> findViewById(int id)
我在“activity_find_beer.xml”文件中有以下按钮:
<Button
android:id="@+id/find_beer"
android:text="@string/find_beer"
android:onClick="onClickFindBeer" />
以及来自 FindBeerActivity.java 类的以下代码,它获取用户选择的啤酒并在文本视图中显示相同的啤酒。
public class FindBeerActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_beer);
}
//Call when the button gets clicked
public void onClickFindBeer(View view) {
//Get a reference to the TextView
TextView brands = (TextView) findViewById(R.id.brands);
//Get a reference to the Spinner
Spinner color = (Spinner) findViewById(R.id.color);
//Get the selected item in the Spinner
String beerType = String.valueOf(color.getSelectedItem());
//Display the selected item
brands.setText(beerType);
}
}
我的问题是 onClickFindBeer(View view) 采用 View 类型的方法 对象作为参数,但在我刚才提到的 xml 中
android:onClick="onClickFindBeer"当用户点击 button ,方法 onClickFindBeer 被调用...谁在传递对象 类型 View 到 onClickFindBeer(View view) ...是什么东西 隐含的?第二,在developer.android.com我看到方法 findViewById(int id) 都在 Activity 类 中( https://developer.android.com/reference/android/app/Activity.html ) 以及 View 类 https://developer.android.com/reference/android/view/View.html ...我不清楚哪个类(活动或视图) 当我调用 findViewById() 时调用 findViewById(int id) 方法 来自 onClickFindBeer(查看视图){}。
如果有人能说明这一点,我们将不胜感激。
问候。
【问题讨论】:
标签: java android android-activity