是为每个元素使用onClick()方法还是实现OnClickListener并执行switch语句更好?



我正在创建我自己的导航抽屉在我的Android应用程序,我想知道哪个是更好的做法。

我可以:
在我的layout.xml中添加这样的标签android:onClick="btnHome"
然后将方法btnHome()添加到我的.java文件中。

OR

给我的元素一个像这样的id:android:id="@+id/btnHome"
在setContentView()或onCreate()方法中给它一个onClickListenerfindViewById(R.id.btnHome).setOnClickListener(this);
然后在我的类

中实现OnClickListener
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnHome:              // The 'Home' button in the navigation drawer
//TODO: Make it go to home screen
break;
}
}

我知道两种方法都能产生相同的结果,但我很好奇它们之间是否有我不知道的区别。

使用setOnClickListener"总是推荐使用"android:onClick"。你应该创建一个单独的onclicklistener;对于每个按钮,除非所有按钮做同样的事情或共享功能,在这种情况下,你可以只创建一个onclicklistener;并将它分配给所有按钮。也可以使用Kotlin和ViewBinding。

最新更新