如何隐藏图像并传递给另一个类?

时间:2015-11-13 08:10:51

标签: java android image android-intent

我想隐藏一个图像并传递给另一个类,但是没有这样做。

活动流程:从A到B然后C.将值和图像从C返回到B然后返回A.

接下来,A可以将数据传递给B进行编辑。

活动A (之前)

     c.setOnClickListener(new View.OnClickListener() { pass to B
              @Override
              public void onClick(View view) {
              if ((name != null && name.trim().length() > 0) && (result != null && result.trim().length() > 0)) {
               Toast.makeText(getActivity().getApplicationContext(), "not null", Toast.LENGTH_LONG).show();
               if (name.equals("Project")) {
               Intent intent = new Intent(getActivity(), Project1.class);
                                                 Global.img = null;
               v.setDrawingCacheEnabled(true);
               v.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
               View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
               v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
               v.buildDrawingCache(true);
               intent.putExtra("name", name);
               intent.putExtra("result", result);
               intent.putExtra("description", description);
               intent.putExtra("k", k);
               if (v.getDrawingCache() != null) {
               Bitmap bitmap = Bitmap.createBitmap(v.getDrawingCache());
               if (bitmap == null) {
               Log.e("TAG", "getDrawingCache() == null");
                                     }
                Global.img = bitmap;

                intent.putExtra("bitmap",true);
                startActivityForResult(intent, 0);
                                          }
                                             }


    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {  //receive from B
         k = data.getIntExtra("k", 0);
       Log.e("TAG",k+"");
        if (k == 1) {
            switch (requestCode) {
                case 0:
                    result = data.getStringExtra("text");
                    name = data.getStringExtra("a");
                    description=data.getStringExtra("c");
                    if (Global.img != null) {
                        v.setImageBitmap(Global.img); // display image
                    }

                     as=Long.parseLong(result);
                    c.setText("            " + name + "------" + "RM " + result);
                    break;
}

enter image description here

活动B enter image description here

上面的代码工作正常。但我想要实现的是我不想在活动A上显示图像(除了数量之外)。我希望只有当它转到B时才显示图像。

所以这是我到目前为止所尝试过的。我删除了

the imageView from `a.xml`

也删除

if (Global.img != null) {
                        v.setImageBitmap(Global.img);
                    }

在活动A onActivityResult 中运行应用。

  

11-13 16:07:15.916 29329-29329 / com.example.project.project   E / AndroidRuntime:致命异常:主要       处理:com.example.project.project,PID:29329       显示java.lang.NullPointerException               在com.example.project.project.Claims $ 6.onClick(Claims.java:149)               在android.view.View.performClick(View.java:4654)

其中 Claims.java:149 指的是if (v.getDrawingCache() != null) {

1 个答案:

答案 0 :(得分:0)

请在xml文件中恢复您的ImageView,并将此xml属性android:visibility="gone"android:visibility="invisible"添加到您的ImageView

如何隐藏图片?使用xml属性:android:visibility="gone"android:visibility="invisible"