初学者。
首先,当我尝试使用android:onClick in xml并引用一个方法来实现按钮点击时,这个问题就到了。
现在,当您引用方法时,活动中方法的参数必须为“(View)”。快速问题,方法参数中的单词View之后的变量是什么?通常它就像“(View v)”或“(View view)”。参数中的第二个变量是什么,它可以是什么?什么时候使用?只是想了解它的一般信息,无法在任何地方找到这样的具体信息。
提前致谢
答案 0 :(得分:1)
我觉得你误解了。 (View view)
中的第一个参数是参数的类型,第二个参数是提供给它的临时名称(它只是一个虚拟名称,所以你可以使用你喜欢的任何东西)。例如,如果我必须传递一个整数作为参数,我会使用(int i)
,其中i
被理解为类型int
。因此,在您的情况下,类型为View
的对象暂时称为view
,以作为参数传递给函数。
答案 1 :(得分:0)
这是对您单击的视图的引用。看看这里的question,您可能会发现何时使用它。
答案 2 :(得分:0)
所以你问的是onClick()
?
此方法来自View.onClickListener
界面,您可以在http://developer.android.com/reference/android/view/View.OnClickListener.html
因为它是一个界面,所以只有paramater:View,它代表你刚刚点击的视图。例如,如果在界面中设置按钮,则表示按钮,如果将ImageView设置为界面,则表示ImageView本身;
例如:
YourActiivty extends Activity implements View.OnClickListener {
public void onCreate(Bundle onSaveInstance) {
super.onCreate(onSaveInstance);
setContentView(R.layout.yourlayout);
//your button, we assume id is R.id.yourbutton;
Button yourbutton = (Button) findViewById(R.id.yourbutton);
yourbutton.setOnClickListener(this);
//your imageview, we assume id is R.id.yourimageview;
ImageView yourImageView = (ImageView) findViewById(R.id.yourimageview);
yourImageView.setClickable(true);
yourImageView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int id = v.getId();
if(id == R.id.yourbutton) {
//your button is clicked!
} else if(id == R.id.yourimageview) {
//your imageview is clicked!
}
}
}