2016-02-17 4 views
2

В приложении Я хочу, чтобы сообщение или диалоговое окно появлялось, когда я выбираю камеру в верхнем правом углу. После выбора камеры я хочу сообщение появляться сказать либо «Сфотографируйте» или «Выбрать из галереи»Android Studio - Выберите изображение из галереи

Вот код:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    if (!contact.getHidden()) { 
     getMenuInflater().inflate(R.menu.conversation, menu); 
     if (!Preferences.getBoolean(this, Preferences.PREF_DEV_IMAGE_CAPTURE, false)) { 
      MenuItem camera = menu.findItem(R.id.launch_camera); 
      camera.setVisible(false); 

     } 
    } 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    if (item.getItemId() == R.id.launch_voip_call) { 
     Utils.startCall(this, contact); 
     return true; 
    } else if (item.getItemId() == R.id.launch_camera) { 
     Intent cameraIntent = new Intent(ConversationActivity.this, CameraActivity.class); 
     cameraIntent.putExtra("EXTRA_CONTACT_JID", contact.getJid()); 
     startActivity(cameraIntent); 
    } 
    return false; 
} 
+0

С какими проблемами вы сталкиваетесь? – Yashasvi

+0

очень новичок в студии Android, так как у меня есть только базовые знания. Просто интересно, как я получу диалоговое окно для отображения с двумя параметрами, когда выбран FAB. – nsamad400

ответ

0

В вашем strings.xml добавить

<array name="image_upload_methods"> 
    <item>Take photo</item> 
    <item>Select from Gallery</item> 
</array> 

Когда пользователь щелкает launch_camera

else if (item.getItemId() == R.id.launch_camera) { 
    new AlertDialog.Builder(MainActivity.this) 
          .setTitle("Upload Demo") 
          .setItems(R.array.image_upload_methods, new OnClickListener() { 
           @Override 
           public void onClick(DialogInterface dialog, int which) { 
            if (which == 0){ 
             Intent cameraIntent = new Intent(ConversationActivity.this, CameraActivity.class); 
             cameraIntent.putExtra("EXTRA_CONTACT_JID", contact.getJid()); 
             startActivity(cameraIntent); 
            }else { 
             Intent intent = new Intent(); 
             intent.setType("image/*"); 
             intent.setAction(Intent.ACTION_GET_CONTENT); 
             startActivityForResult(Intent.createChooser(intent, 
               "Select Picture"), RESULT_LOAD_IMG); 
            } 
           } 
          }).show(); 
} 
+0

Спасибо, я попробую это. – nsamad400

+0

Где этот код будет идти точно? – nsamad400

+0

Код java AlertDialog.Builder должен быть помещен в ваш onOptionsItemSelected, как вы показали. должен быть внутри /app/values/string.xml –

0
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setMessage("Pick Image from") 
    .setCancelable(false) 
    .setPositiveButton("Camera", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      //camera intent 
     } 
    }) 
    .setNegativeButton("Gallery", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      //gallery intent 
     } 
    }); 
AlertDialog alert = builder.create(); 
alert.show(); 
Смежные вопросы