2015-08-23 7 views
1

Я делаю простое приложение, которое позволяет пользователю делать снимок с помощью dispatchTakePictureIntent(), который сохраняет полноразмерную фотографию; указанные здесь; http://developer.android.com/training/camera/photobasics.html#TaskCaptureIntent. И запустили с помощью значка камеры из панели действий. Затем пользователь принимает фото нажмет ОК и их изображение появляется в списке, созданный с использованием класса простирающуюся BaseAdapterAction Bar Поведение запуска с несколькими пунктами меню

public boolean onOptionsItemSelected(MenuItem item) { 
    if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) { 
     dispatchTakePictureIntent(); 
    } 
    return super.onOptionsItemSelected(item); 
} 

Если я запускаю намерение, как описано выше, то кажется, что все работает нормально, но у меня нет ответа на Удалить все кнопка (нажав на него будет OFC просто начать намерение камеры)

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.action_photo : { 
      if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) { 
       dispatchTakePictureIntent(); 
      } 
     } 
     case (R.id.action_delete) : { 
      deleteAllPhotos(); 
     } 
    } 
    return super.onOptionsItemSelected(item); 
} 

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

Is t здесь какие-то тонкие изменения в жизненном цикле или что-либо, введенное этой разницей? Поскольку я изо всех сил пытаюсь найти, как это может вызвать это различное поведение.

Спасибо за любой ввод!

ответ

0

Вам не хватает инструкции о разрыве или возврате после вашего дела, поэтому он запускает намерение, а затем удаляет все ваши предыдущие фотографии, так как заявления о делах попадают в следующий, если не говорят сломаться.

Try:

switch(item.getItemId()) { 
    case R.id.action_photo: 
     ... 
     break; 
    case R.id.action_delete: 
     ... 
     break; 
} 
+0

Хехе, вы правы, что такое провал лол – FinalFind

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