0

初学者在这里。

首先,当我尝试在 xml 中使用 android:onClick 并引用一个方法来实现按钮点击时,这个问题就出现了。

现在,当你引用一个方法时,activity中方法的参数必须是“(View)”。快速提问,方法参数中View后面的变量是什么?通常它就像“(View v)”或“(View view)”。参数中的第二个变量是什么,可以是什么?什么时候使用?只想要关于它的一般信息,在任何地方都找不到这样的具体信息。

提前致谢

4

3 回答 3

1

我想你误会了。第一个参数(View view)是参数的类型,第二个是提供给它的临时名称(它只是一个虚拟名称,因此您可以使用任何您喜欢的名称)。例如,如果我必须传递一个整数作为参数,我会使用(int i), wherei被理解为 type int。因此,在您的情况下,View临时调用一个类型的对象view作为参数传递给函数。

于 2013-05-12T09:27:20.187 回答
0

这是对您单击的视图的引用。看看这里的问题,您可能会发现何时使用它。

于 2013-05-12T09:10:16.040 回答
0

所以你问的是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!
          }
     }
}
于 2013-05-12T09:14:29.450 回答