Я новичок в android, и я пишу приложение для фотоальбома. Я пытаюсь получить изображение от пользователя и сохранить его в альбоме. Вот мои фрагменты кода из моей деятельности AlbumOptions:startActivityForResult() не вызывается
public void add(View v){
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(Intent.createChooser(i, "Choose Photo To Add"),RESULT_LOAD_IMAGE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && data != null)
{
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
final String picturePath = cursor.getString(columnIndex);
cursor.close();
//get a name for the photo
final EditText pName = new EditText(this);
new AlertDialog.Builder(this)
.setTitle("Create Album")
.setMessage("Enter album name:")
.setView(pName)
.setPositiveButton("Add Photo", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String name = pName.getText().toString();
//check if photo name already exists, if not create it
if(!album.checkName(name))
{
Photo p = new Photo(name, picturePath, "");
photoList.add(p);
adapter.notifyDataSetChanged();
}
//prompt error that photo name is taken
else
{
AlertDialog alertDialog = new AlertDialog.Builder(AlbumOptions.this).create();
alertDialog.setTitle("Error");
alertDialog.setMessage("Photo name already exists!");
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.show();
}
}
});
}
}
Метод добавь вызывается, когда пользователь нажимает на кнопку Добавить, чтобы добавить фотографию в открытый альбом. Однако при использовании инструмента отладчика программа переходит на вызов startActivityForResult()
. Я просмотрел различные сообщения, чтобы понять, что происходит не так, и я не могу понять, что происходит. RESULT_LOAD_IMAGE
> 0, и я проверил свой файл манифеста, как это было предложено многими сообщениями, которые я видел. Любые отзывы приветствуются.
Выбирать? –
это всплывающие фотографии, чтобы выбрать, но если после того, как я выберу один, он ничего не делает – Hamon148
Вы что-то зашли в 'onActivityResult'? Является ли этот код фрагментом или активностью? –