如何在Android Studio上使用View Parameter调用方法

use*_*280 9 java parameters methods android view

我想打电话给这个方法

public void openButton(View view) {
    Intent intent = new Intent(this, MainActivity.class);
    this.startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

从像这样的简单方法

public void simple(){
    openButton();
}
Run Code Online (Sandbox Code Playgroud)

但我不能这样做,因为openButton需要一个参数View.怎么样?

Ale*_*x K 7

好吧,使用您提供的代码,您通常会使用某种类型的代码onCickListener.

打开XML文件,然后添加android:onClick="openButton"到要调用该方法的按钮.所以你的按钮XML看起来像这样:

<Button
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Click me!"
   . . . 
   android:onClick="openButton" />
Run Code Online (Sandbox Code Playgroud)

这将自动调用该方法并传入视图.

另一个选项,就像评论中提到的BatScream一样,只是传入null,因为你还没有使用视图.但是,这是不好的做法 - 这次会工作,但总的来说,你应该遵循Android使用的系统.只需使用onClickXML.


如果您必须使用simple它的方式,请这样做:

public void simple(){
    openButton(null);
}
Run Code Online (Sandbox Code Playgroud)