gpt4 book ai didi

Android View 比较两个 View 是否相等

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:51:04 27 4
gpt4 key购买 nike

我在布局上有 4 个按钮,对于每个按钮,它们都有属性:

android:onClick="numberChosen"

现在,我计划做的是在我的 Activity (使用具有 4 个按钮的布局)中,我有类似的东西:

public class Blah extends Activity{
String fileName;
Button one;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_number_players_selection_screen);
one = (Button) findViewById(R.id.number_players_one);
}


public void numberChosen(View v){
if(v == one){ // <-------- first way
System.out.println("first way");
}
if(v.getId()==R.id.number_players_one){ // <-------- second way
System.out.println("second way");
}
}
}

如果您注意到方法 numberChosen 中发生了什么,那么在这两种方式之间,哪种方式更好?还是他们都在做同样的事情?

旁注,android:onClick="numberChosen" 与仅设置 View.onClickListener 相比是好是坏?

最佳答案

在我看来,这两种方式都是正确的,它们都能完成工作。从性能的角度来看,第二种方式可能更好。

此外,如某些人所建议的那样,如果您在库项目中使用 ADT 14 或更高版本,则可能无法使用switch case,因为 ID 不是最终的(常量),所以只有在这种情况下,您才必须使用 if 语句。

关于Android View 比较两个 View 是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15612245/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com