Отображение диалогового окна с содержимым выбора файла и камеры - PullRequest
0 голосов
/ 14 февраля 2012

Я хочу открыть диалоговое окно, которое дает мне два варианта.

1- Выберите файл с SD-карты 2- Сделайте снимок с камеры

Сейчас я использую этот код

 receipt.setOnClickListener(new View.OnClickListener() 
         {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                showDialog(RECEIPT_DIALOG_ID);
            }
        });
protected Dialog onCreateDialog(int id) {
            Dialog dialog = null;
            AlertDialog.Builder builder = new Builder(this);
 case RECEIPT_DIALOG_ID:
                    builder.setTitle("Choose your file");
                        dialog = builder.create();
                      return dialog;
                    }

Теперь, как я могу добавить эти две опции.

С наилучшими пожеланиями

Ответы [ 3 ]

1 голос
/ 14 февраля 2012

Попробуйте, это предоставляет обе опции

final CharSequence[] items = {"Camera", "Memory Card"};

builder.setTitle(R.string.pic_option);
                    builder.setIcon(R.drawable.camera_icon);
                    builder.setItems(items, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int item) {
                          launchCamera(item);
                        }
                    });
                    builder.create();
                    builder.show();

, а функция launchCamera (элемент) находится здесь

public void launchCamera(int id){

            switch (id) {
            case 0:
                Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                ((Activity)getParent()).startActivityForResult(cameraIntent, 1888);
                break;
            case 1: 
                Intent intent = new Intent(Intent.ACTION_PICK,
                        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                ((Activity)getParent()).startActivityForResult(intent, 2);
                break;
            default:
                break;
            }
        }
0 голосов
/ 14 февраля 2012

попробуйте это ...

            new AlertDialog.Builder(menu)
                .setTitle("Choose your file")
                .setMessage("Your msg")
                .setPositiveButton("Choose file from SD Card",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int whichButton) {
                                    // Your code
                            }
                        })
                .setNegativeButton("Take a snapshot from Camera",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int whichButton) {
                                //Your code
                            }
                        }).show();
0 голосов
/ 14 февраля 2012

Используйте это непосредственно в вашем методе. В диалоговом окне появятся 2 кнопки.

    Dialog dialog;
    dialog = new Dialog(getParent());
    dialog.setContentView(R.layout.camdialog);
    dialog.setTitle("         Select the Image");
    dialog.setCancelable(true);
    sdCard = (Button) dialog.findViewById(R.id.sdCard);
    camDialog = (Button) dialog.findViewById(R.id.camDialog);
    dialog.show();
    dialog.getWindow().setLayout(LayoutParams.FILL_PARENT, 200);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...