Android案例声明帮助

时间:2010-12-21 00:15:29

标签: android android-layout

我正在尝试让我的case语句根据按下的按钮打开另一个类。我的这个工作正常,只需一个按钮,但我不确定如何继续使用两个按钮。

到目前为止我的代码:

public void onClick(View v) {
    switch (v.getId()) {
    case R.id.about_button:
        Intent i = new Intent(this, About.class);
        startActivity(i);
        break;
    case R.id.reminderList_button:
        Intent i = new Intent (this, ReminderListActivity.class);
        startActivity(i);
        break;

    }

}

这会产生错误,因为我正在重复使用本地变量(i) - 如果有人能让我知道如何正确地执行此操作,那将非常感激。

2 个答案:

答案 0 :(得分:3)

您可以在switch语句之前声明变量i。如果您打算在switch语句后使用变量i,那么这特别优于“范围”:

public void onClick(View v) {
    Intent i = null;
    switch (v.getId()) {
    case R.id.about_button:
        i = new Intent(this, About.class);
        break;
    case R.id.reminderList_button:
        i = new Intent (this, ReminderListActivity.class);
        break;
    }
    startActivity(i);
    ...; // other statements using `i'
}

答案 1 :(得分:1)

范围。

public void onClick(View v) {
    switch (v.getId()) {
    case R.id.about_button:
        {
            Intent i = new Intent(this, About.class);
            startActivity(i);
            break;
        }
    case R.id.reminderList_button:
        {
            Intent i = new Intent (this, ReminderListActivity.class);
            startActivity(i);
            break;
        }
    }
}