我正在尝试拍摄照片并将其显示在图像视图中。
public class next extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.next); Button cbutton = (Button) findViewById(R.id.capture); /* Capture Photo */
cbutton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,0); } });
}
@Override
public void startActivityForResult(Intent intent, int requestCode) {
ImageView iv
= (ImageView) findViewById(R.id.imageView1);
if(requestCode == 0)
{ Bitmap theImage = (Bitmap) data.getExtras().get("data");
iv.setImageBitmap(theImage);
}}}
所以这是我用过的代码。现在的问题是我在“数据”下得到了红线
Bitmap theImage = (Bitmap) ***data***.getExtras().get("data");
我不是原因,任何人都能解释一下我做错了什么或者解决了我的问题吗?
答案 0 :(得分:0)
变量data
既未声明也未作为参数传递给您的方法,因此它标记为红色。
答案 1 :(得分:0)
此代码的问题在于我覆盖了错误的方法:
public void startActivityForResult(Intent intent, int requestCode) {
ImageView iv
= (ImageView) findViewById(R.id.imageView1);
if(requestCode == 0)
{ Bitmap theImage = (Bitmap) data.getExtras().get("data");
iv.setImageBitmap(theImage);
}}
因为结果将来自活动,它将通过以下方法显示:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//ImageView iv = (ImageView) findViewById(R.id.imageView1);
if(requestCode == 1)
{
Bitmap theImage = (Bitmap) data.getExtras().get("data");
iv.setImageBitmap(theImage);
}
就是这样:))
}