Android загрузить галерею по клику, вернуть изображение в виде растрового изображения - PullRequest
0 голосов
/ 05 октября 2011

У меня проблемы с возвратом информации из действия, мое понимание реализации неполное.

Я хочу, чтобы пользователь мог щелкнуть по кнопке, чтобы загрузить галерею Android, выбрать изображение, и это изображение (или, возможно, ссылка на изображение) преобразуется в растровое изображение / рисунок, который появляется в пользовательском интерфейсе моей деятельности расположение.

У меня открывается галерея Android, но я не получаю от нее ответа (я знаю, почему в приложении галереи нет намерений - к которому у меня нет доступа для редактирования, но я не знаю решения )

 ImageView galleryClick = (ImageView)findViewById(R.id.addgallery);

    profilePic = (ImageView)findViewById(R.id.profilepic);

    galleryClick.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);  
            intent.setType("image/*");

            startActivityForResult(Intent.createChooser(intent, "Select Picture"),1);

        }

    });

Я надеялся, что onActivityFinished будет вызываться в моей рукописной операции, но этот метод никогда не вызывается (я поставил точку останова в его коде

 public void onActivityResult(int requestCode, int resultCode, Intent data) { 

   if (resultCode == RESULT_OK) {

       if (requestCode == 1) {
          // currImageURI is the global variable I'm using to hold the content:// URI of the image
          //currImageURI = data.getData();
       }
    }
}

решения?

Ответы [ 2 ]

1 голос
/ 05 октября 2011

Если я правильно понимаю ваш вопрос, я думаю, что аналогичный вопрос был задан ранее в отношении переполнения стека. Вот тот, о котором я думаю:

Получить / выбрать изображение из встроенного приложения Android для Android программно

0 голосов
/ 13 марта 2018

Используйте это:

 ImageView user_Image = (ImageView) headerView.findViewById(R.id.user_image);

user_Image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            openImageChooser();
        }
    });

private void openImageChooser() {
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);
}

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK)
    {
        if (requestCode == SELECT_PICTURE)
        {
            // Get the url from data
            Uri selectedImageUri = data.getData();
            if (null != selectedImageUri)
            {
                // Get the path from the Uri
                String path = getPathFromURI(selectedImageUri);
                Log.i(TAG, "Image Path : " + path);
                // Set the image in ImageView
                ((ImageView) findViewById(R.id.user_image)).setImageURI(selectedImageUri);
            }
        }
    }
}
...