2010-11-21 2 views
0

У меня есть нулевой указатель на кнопке, который мне нужно взять меня в новый макет при нажатии. У меня есть код:Null Pointer при попытке вызвать кнопку

((Button) findViewById(R.id.analyzee)).setOnClickListener(btnClick); 

внутри метода, который использует условные утверждения.

Это основное приложение для обнаружения лиц. Если лица не обнаружены, я делаю это:

if (facesFound < 1) { 
       mFlipper.setDisplayedChild(2); 
       mTheMessage = (TextView) findViewById(R.id.falsemessage); 
       mThePicture = (ImageView) findViewById(R.id.false_view); 
       mTheMessage.setText(R.string.noFaceOne); 
       mThePicture.setImageBitmap(bitmap565); 
       return; 

если обнаружены лица, я рисую коробку на лице, и сделать это:

mFlipper.setDisplayedChild(1); 
      mTheMessage.setText(R.string.noFaceFive); 
      mThePicture.setImageBitmap(bitmap565); 

Моя проблема заключается здесь, хотя, я использую это метод для запуска при нажатии кнопок синхронизируются:

private final View.OnClickListener btnClick = new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      switch (v.getId()) { 
      case R.id.scan_box: 
       openCamera(); 
       break; 

      case R.id.crop_face: 
       final ProgressDialog dialog = ProgressDialog.show(Main.this, "", 
         "Cropping photo", true); 
       dialog.show(); 

       Handler handler = new Handler(); 
       handler.postDelayed(new Runnable() { 
        @Override 
        public void run() { 
         dialog.dismiss(); 
        } 
       }, 3000); 

       cropFace(); 
       break; 

Итак, мой вопрос заключается в следующем:

в одном из макетов в плавник, кнопка, которая опирается на макет, должна предоставить пользователю возможность щелкнуть новое изображение, если не найдено ни одного лица. Для другого макета потребуется кнопка (после клика), чтобы обрезать лица и результаты были отправлены на другой макет.

Проблема я столкнулся, где код:

((Button) findViewById(R.id.crop_face)).setOnClickListener(btnClick); 

должен быть сделан для того, чтобы программы, чтобы освободить кнопку была нажата, она вызывает случай в моем переключателя заявление, и бежит crop face_method.

Я пытаюсь положить его в оператор if, где я установил изображение Просмотр и текстовое представление, но я получаю нулевой указатель на этой строке. Я объявляю свою кнопку.

Кнопки, которые у меня есть в главном меню, работают нормально, так как они находятся в моем методе onCreate, но я не знаю, где играть эту командную кнопку, а также где мне нужно поместить команду повторно открыть камеру.

Спасибо!

ответ

0

Я просто использовал неправильную кнопку ID ... извините за путаницу = x

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