如何在 Android Studio 上使用视图参数调用方法
How to call method with View Parameter on Android Studio
我想调用这个方法
public void openButton(View view) {
Intent intent = new Intent(this, MainActivity.class);
this.startActivity(intent);
}
像这样的简单方法
public void simple(){
openButton();
}
但是我做不到,因为openButton需要一个参数View。怎么样?
嗯,对于您提供的代码,您通常使用某种 onCickListener
。
打开 XML 文件,然后将 android:onClick="openButton"
添加到要调用该方法的按钮。所以按钮的 XML 看起来像这样:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click me!"
. . .
android:onClick="openButton" />
这将自动调用该方法并传入一个视图。
正如 BatScream 在评论中提到的那样,另一种选择是直接传入 null
,因为您无论如何都不会使用该视图。但是,这是不好的做法 - 这次它会起作用,但一般来说,您应该遵循 Android 使用的系统。只需在 XML 中使用 onClick
。
如果您必须按原样使用 simple
,请这样做:
public void simple(){
openButton(null);
}
你应该可以做到
button.performClick();
假设 openButton()
是分配给 button
s onClick
的方法。意思是,在你的 xml 中的某个地方,你可能有一个 Button
和 android:onClick="openButton"
。然后,如果您将 Button
实例化并分配给变量 button
,调用 View
的 performClick()
方法将调用 openButton()
简单。只需在参数中传递视图。
方式 1: 如果您从布局文件中调用 openButton()
方法,则只需通过应用 onClick 属性按以下方式调用方法
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go to next screen"
. . .
android:onClick="openButton" />
方法 2: 如果您试图通过设置 OnClickListener 从按钮的 onclick 调用它,那么只需传递您在 OnClickListener
中获得的视图 onClick(View view)
方法如下:
button.setOnClickListener(new OnClickListener(){
@override
public void onClick(View view)
{
openButton(view);
}
});
我想调用这个方法
public void openButton(View view) {
Intent intent = new Intent(this, MainActivity.class);
this.startActivity(intent);
}
像这样的简单方法
public void simple(){
openButton();
}
但是我做不到,因为openButton需要一个参数View。怎么样?
嗯,对于您提供的代码,您通常使用某种 onCickListener
。
打开 XML 文件,然后将 android:onClick="openButton"
添加到要调用该方法的按钮。所以按钮的 XML 看起来像这样:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click me!"
. . .
android:onClick="openButton" />
这将自动调用该方法并传入一个视图。
正如 BatScream 在评论中提到的那样,另一种选择是直接传入 null
,因为您无论如何都不会使用该视图。但是,这是不好的做法 - 这次它会起作用,但一般来说,您应该遵循 Android 使用的系统。只需在 XML 中使用 onClick
。
如果您必须按原样使用 simple
,请这样做:
public void simple(){
openButton(null);
}
你应该可以做到
button.performClick();
假设 openButton()
是分配给 button
s onClick
的方法。意思是,在你的 xml 中的某个地方,你可能有一个 Button
和 android:onClick="openButton"
。然后,如果您将 Button
实例化并分配给变量 button
,调用 View
的 performClick()
方法将调用 openButton()
简单。只需在参数中传递视图。
方式 1: 如果您从布局文件中调用 openButton()
方法,则只需通过应用 onClick 属性按以下方式调用方法
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go to next screen"
. . .
android:onClick="openButton" />
方法 2: 如果您试图通过设置 OnClickListener 从按钮的 onclick 调用它,那么只需传递您在 OnClickListener
中获得的视图 onClick(View view)
方法如下:
button.setOnClickListener(new OnClickListener(){
@override
public void onClick(View view)
{
openButton(view);
}
});