markdowneide 2013-06-06 06:46 采纳率: 0%
浏览 2039
已采纳

用选择文件和相机的内容显示一个dialog box

我想打开一个 dialog box,然后给出两个选项:
1- 从SD Card中选择文件 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;
                    }

那么如何添加这两个选项卡呢?

  • 写回答

2条回答

  • Curie-87 2013-06-06 09:44
    关注

    使用下面的代码,可以提供两个选项卡:

    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();
    

    Fuction launchCamera(item) :

    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;
                }
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services