3

在我的mainactivity课堂上,单击一个按钮时,它会显示一个对话框,显示“捕获照片”、“捕获视频”、从图库中选择“单击其中任何一个按钮时它必须执行相应的操作并返回路径的文件到. 在内部mainactivity很容易做到。但是如何在自定义对话框中使用意图并将意图结果从自定义对话框返回到.startActivityForResult&onActivityResultmainactivitymainactivity

谢谢你的时间。

takeaPhoto.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, ACTION_TAKE_PHOTO);
    }
});

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch(){
        //do action
        String filePath = data.getDataString();
        filename.setText(filePath);
    }
}
4

1 回答 1

2

这并不难。只需使用警报对话框并确保您的观点是正确的。

final Context context = this;
static final int SELECT_PICTURE = 1; 

takeaphoto.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){  

LayoutInflater myLayout = LayoutInflater.from(context);
final View dialogView = myLayout.inflate(R.layout.YOURCUSTOM.XML, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setView(dialogView);
final AlertDialog alertDialog = alertDialogBuilder.create();        


Button button1 = (Button) dialogView.findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener(){
public void onClick(View v) {


Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, SELECT_PICTURE);
}});

alertDialog.show();
return;}});
于 2013-07-29T21:46:29.050 回答