初学者在这里。
首先,当我尝试在 xml 中使用 android:onClick 并引用一个方法来实现按钮点击时,这个问题就出现了。
现在,当你引用一个方法时,activity中方法的参数必须是“(View)”。快速提问,方法参数中View后面的变量是什么?通常它就像“(View v)”或“(View view)”。参数中的第二个变量是什么,可以是什么?什么时候使用?只想要关于它的一般信息,在任何地方都找不到这样的具体信息。
提前致谢
初学者在这里。
首先,当我尝试在 xml 中使用 android:onClick 并引用一个方法来实现按钮点击时,这个问题就出现了。
现在,当你引用一个方法时,activity中方法的参数必须是“(View)”。快速提问,方法参数中View后面的变量是什么?通常它就像“(View v)”或“(View view)”。参数中的第二个变量是什么,可以是什么?什么时候使用?只想要关于它的一般信息,在任何地方都找不到这样的具体信息。
提前致谢
我想你误会了。第一个参数(View view)
是参数的类型,第二个是提供给它的临时名称(它只是一个虚拟名称,因此您可以使用任何您喜欢的名称)。例如,如果我必须传递一个整数作为参数,我会使用(int i)
, wherei
被理解为 type int
。因此,在您的情况下,View
临时调用一个类型的对象view
作为参数传递给函数。
这是对您单击的视图的引用。看看这里的问题,您可能会发现何时使用它。
所以你问的是onClick()
?该方法来自View.onClickListener
接口,可以在http://developer.android.com/reference/android/view/View.OnClickListener.html查看文档
因为是界面,所以只会有参数: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!
}
}
}