单击隐藏imagebutton1然后显示imagebutton2

时间:2015-06-13 19:22:14

标签: android

我有2个图像按钮。 图像按钮& imagebutton2,我把它们都放在另一个上面并将imagebutton2设置为(不可见)。

我的目标是点击imagebutton1然后隐藏imagebutton1并显示imagebutton2。

这是我的代码

btn2.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                         p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                         camera.setParameters(p);
                       camera.stopPreview();
                        isLighOn = false;
                    findViewById(R.id.imageButton).setBackgroundResource(R.drawable.offf);
                    //    imageButton2.setVisibility(View.INVISIBLE);

                }
            });



            btn1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                    camera.setParameters(p);
                    camera.startPreview();
                    isLighOn = true;
                    // imageButton2.setVisibility(View.VISIBLE);
                    // findViewById(R.id.imageButton).setBackgroundResource(R.drawable.onn);
                    // ImageButton btn1 = (ImageButton) findViewById(R.id.imageButton);
                    //  btn1.setImageResource(R.drawable.onn);

                    //findViewById(R.id.imageButton).setBackgroundResource(R.drawable.onn);


                }

            });

以下这些代码

imageButton2.setVisibility(View.VISIBLE);
imageButton2.setVisibility(View.INVISIBLE);
点击后

崩溃了我的应用

1 个答案:

答案 0 :(得分:0)

当您访问ImageView时,它们为空。 您需要在使用之前初始化它们:

imageButton1 = (ImageButton) findViewById(R.id.imageButton1);
imageButton2 = (ImageButton) findViewById(R.id.imageButton2);