protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch(requestCode)
{
case BOOK_SELECT:
if (resultCode == RESULT_OK)
{
String name = data.getStringExtra("SelectedBook");
Toast.makeText(this, "You have chosen the book: " + " " + name, Toast.LENGTH_LONG).show();
break;
}
case PEN_SELECT:
if (resultCode == RESULT_OK)
{
String name = data.getStringExtra("SelectedPen");
Toast.makeText(this, "You have chosen the pen: " + " " + name, Toast.LENGTH_LONG).show();
break;
}
}
}
这两种情况都不同我无法理解为什么它显示
答案 0 :(得分:7)
从你的标题(我假设是错误)检查你的int变量被声明:
int BOOK_SELECT = 0;
int PEN_SELECT = 1; // If this was 0 you would get "duplicate case" error
您需要确保它们是唯一的
答案 1 :(得分:1)
您的break;
声明是否意味着离职?如果是,请使用return;
break;
上下文中的 case
旨在阻止它落入下一个case
区块。
答案 2 :(得分:0)
中断在封闭的if语句中。