我通常创建initialize()用于设置on-click侦听器的函数和函数,然后从Activity中调用这些函数onCreate().当我打电话给someView.setOnClickListener(...)某个功能时,我应该检查一下是否someView == null?我知道,它!= null,但我需要一个关于编码风格的建议.哪种是最佳做法?
这是一个例子:
...
public class SomeActivity extends Activity
{
private ImageButton someButton;
private Intent someIntent;
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.add_alarm);
initialize();
setSomeButtonHandler();
}
public void initialize()
{
someButton = (ImageButton) findViewById(R.id.someButton);
}
public void setSomeButtonHandler()
{
if(someButton != null) //Should I check this?
{
someIntent = new Intent(SomeActivity.this, SomeButtonActivity.class);
someButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
startActivity(someIntent);
}
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
一旦setContentView()被调用,只要您正在查看正确的布局并且该布局中存在视图,您将永远不会获得空视图.
如果您通过传递错误的ID来查找View,或者在不同的布局中查找它(如Dialog或其他内容),则只会获得null.
因此,如果您很好地设计应用程序并在编码时记住所有这些,则不应该需要这些空检查.我个人从未使用它们超过两年在Android上工作,因为它没有任何问题.