我是android开发的新手,我发现有两种方法可以使按钮执行特定任务。
第一种方法是在onCreate函数中包含一个setOnClickListener()
。
第二种方法是在其“活动”页面中创建一个单独的方法,并使用android:onClick="thisFunction"
我一直发现使用XML中的android:onClick调用函数更容易。
这样会使按钮的执行速度变慢吗? 您的专家什么时候会偏爱一种方式?
答案 0 :(得分:2)
第一个
来自Java的onclick监听器
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
这是点击的正式方式
第二
android:onClick =“ thisFunction”
这是用来缩短代码 您应该将其用作方法
private void myfunction(
{
//Button clicked
}
我已经为您创建了一个演示应用程序:)
package com.urname.appname;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button mybuttonname;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_main);
mybuttonname=(Button)findViewById(R.id.button);
mybuttonname.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//button clicked
}
});
}
private void myfunction(){
//button clicked
}
}
**
*>,但我希望使用第一个,因为某些代码无法在
中运行方法*
**
答案 1 :(得分:1)
我认为,最好在代码中设置onClick,因为xml方式仅适用于活动。当您尝试使用片段执行此操作时,它将要求您从xml中选择一个活动来处理onClick()。想象一下,拥有一个单一的活动应用程序,其中包含很多片段,并且所有的onClick()方法都分布在MainActivity代码中。真是一团糟。
关于setOnClickListener()
与onClick() inside xml
的效果,我认为现在几乎相同。