2015-06-13 3 views
0

У меня есть 2 кнопки изображения. imagebutton & imagebutton2, я разместил их как 1 поверх другого, так и установил imagebutton2 (невидимый).скрывать imagebutton1 при щелчке затем показать изображениеbutton2

моя цель - щелкнуть по изображениюbutton1, затем скрыть 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); 

разбивает мое приложение, когда я нажимаю его

ответ

0

Ваши ImageView s равны нулю, когда вы к ним доступ. Вы должны инициализировать их перед использованием:

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

Я потратил 8 человеко-часов, и вы решили мне проблему в 1 минуту благодаря человеку. – user3695970

+0

Нет проблем. Пожалуйста, отметьте этот ответ как правильный, если это поможет. – questioner

Смежные вопросы