[英]Without Button click How to call MyService class in MainActivity in android studio
[英]How to call a function from a class other than MainActivity on button click in Android Java
我想在 Android 中单击按钮调用一个函数。 到目前为止,所有示例似乎只能从MainActivity.java
调用它,但我想从不同的类调用它。 我该怎么做?
我尝试使用android:on_click="myfunction()"
从activity_main.xml
调用它,但这只能从MainActivity.java
调用。 我也试过使用onClick
监听器,但我似乎无法让它工作。
到目前为止,我有这个:
Button onoroff = (Button)findViewById(R.id.activate);
onoroff.setOnClickListener(new View.OnClickListener() {
public void onClick()
{
myfunction();
}
});
但这表明:
; Expected
在这里onClick() *here* {
.
我不确定这是否是正确的方法,或者是否有另一种方法,或者我没有正确格式化。 我想要做的就是按下按钮时,它会调用myfunction()
。 任何帮助是极大的赞赏。 谢谢!
尝试这个 :
onoroff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myfunction();
}
});
您的 onClick 函数没有正确覆盖……不正确的方法签名和没有 @Override 注释(看看 Hussein Bilal 的回答)。 避免这种情况的好方法是使用 Android Studio 提供的自动完成功能。
以下是setOnClickListener
的简化 lambda 形式,如果您将现有内容替换为以下内容,它应该可以工作:
b.setOnClickListener((View v) -> {
myfunction();
});
您应该在 onClick 函数上方添加 @Override 注释。 那么你不能在非静态方法中访问静态函数。 如果您想在另一个类中访问该函数,则将该函数设为静态并使用编写该函数的类的名称访问它。 并且非静态函数只能由该类的实例调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.