【问题标题】:Android - Camera IssueAndroid - 相机问题
【发布时间】:2012-08-25 18:05:39
【问题描述】:

我正在尝试拍摄照片并将其显示在图像视图中。

        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");

我不知道原因,谁能解释我做错了什么或解决我的问题的任何其他方法?

【问题讨论】:

  • 您至少可以尝试以可读的方式格式化您的问题。这会增加您获得答案的机会。

标签: bitmap android-camera


【解决方案1】:

变量data 没有声明为没有作为参数传递给您的方法,因此它被标记为红色。

【讨论】:

  • 你能解释一下这行代码吗?位图 theImage = (Bitmap) data.getExtras().get("data");我试图研究它,但我无法理解它。
  • 我该如何解释你的代码???如果您从某个地方复制了它,请查看是否在那里找到解释,或搜索教程。
  • 然后检查整个教程的代码,其中声明了data 变量。
  • 我弄错了,我重写了错误的函数“startActivityForResult”。我应该重写 onActivityResult()
  • 由于stackoverflow限制,我无法回答我的问题,我会回答这个问题,因为我将获得权利:)
【解决方案2】:

这段代码的问题是我覆盖了错误的方法:

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);
        }

就是这样:)

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    相关资源
    最近更新 更多