2013-07-29 2 views
2

В моем классе mainactivity при нажатии кнопки отображается диалоговое окно, в котором отображаются кнопки «захватить фотографию», «захватить видео», выбрать из галереи »при нажатии любая из этих кнопок должна выполнить соответствующее действие и вернуть путь к файлу mainactivity. легко сделать с startActivityForResult & onActivityResult в mainactivity. Но как я могу использовать намерение в пользовательском диалоговом окне и возвращать результат намерения из обычай dilaog к mainactivity.Android: как пользовательский диалог возвращает результат намерения родительской активности

Спасибо за ваше время.

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

общественного недействительными onActivityResult (интермедиат requestCode, внутр ResultCode, Намерение данные) {

переключатель() {

// сделать действия

Строка Filepath = data.getDataString();

filename.setText (filePath); }}

ответ

1

Это не сложно. Просто используйте диалоговое окно alert и убедитесь, что ваши представления верны.

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;}}); 
+0

Большое спасибо :-) !. Это сработало для меня. – ss45

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

  • Нет связанных вопросов^_^