感谢您发布代码。
我将您之前使用的代码放入一个新项目中,并且(在添加了一些虚拟变量和类之后)它编译得很好,不会出现任何无法访问的代码错误。
所以我只能推测可能是什么问题。如果我将 case R.id.okImage 语句向下移动几行,这会使程序执行的正常流程无法到达 Bundle 行并给出无法访问的代码错误消息。我也可以通过注释掉 R.id.okImage 行来获得类似的信息。
// From the switch statement, program execution continues at either
// 1a) the case statement R.id.ibTakePic
// 1b) the case statement R.id.okImage
// 2a) a default statement (if you have entered one)
// 2b) or otherwise at the line following the switch
switch (v.getId()) {
case R.id.ibTakePic: // 1a
for(int x=0;x<3;x++)
{
i=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i,cameraData);
}
break;
// Thus the program will never run this code as it is after the break from the
// previous statement and before the case line below.
// This is an example of unreachable code
Bundle search_opt=new Bundle();
search_opt.putByteArray("key1", image1);
search_opt.putByteArray("key2", image2);
search_opt.putByteArray("key3", image3);
case R.id.okImage: // 1b
Intent view=new Intent();
view.putExtras(search_opt);
startActivity(view);
break;
}
// 2b
}