安卓|我如何编写此代码以更加面向对象?

时间:2016-07-20 00:00:17

标签: android oop

您好我正在尝试使用if语句来午餐不同的活动。以下代码似乎不是面向对象的。有没有人知道一种方法,我可以通过获得错误使这更多的对手(“变量意图可能尚未初始化”)

if (view.getId() == R.id.loadExistingBuildButton) {
        intent = new Intent(this, LoadExistingBuildActivity.class);
        startActivity(intent);
    } else if (view.getId() == R.id.createNewBuildButton)
        intent = new Intent(this, CreateNewBuildActivity.class);
    startActivity(intent);
}

1 个答案:

答案 0 :(得分:2)

int id = view.getId();
if (id == R.id.loadExistingBuildButton) 
    startActivity(new Intent(this, LoadExistingBuildActivity.class);
else if (id == R.id.createNewBuildButton)
   startActivity(new Intent(this, CreateNewBuildActivity.class));

您可以为默认案例添加 else 语句。

如果你最终得到很多if / else ifs,你可以考虑使用像

这样的方法
public void runIntentActivity(Activity someName)
{
      startActivity(new Intent(this, someName.class ));
}

所以你可以打电话给

 runIntentActivity(LoadExistingBuildActivity)

而不是

 startActivity(new Intent(this, LoadExistingBuildActivity.class);
每个if / elseif