Android如何在PreferenceScreen中从图库选择图片?

6
如何在Android PreferenceScreen菜单中从图库选择图片?
我的PreferenceScreen菜单的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <Preference
        android:key="select_image"
        android:title="select image">
</PreferenceScreen> 
1个回答

12

我终于找到了答案。

首先设置 setOnPreferenceClickListener。

Preference prefereces=findPreference("test");
        prefereces.setOnPreferenceClickListener (new Preference.OnPreferenceClickListener(){
            public boolean onPreferenceClick(Preference preference){
                Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                int PICK_IMAGE = 1;
                startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);
                return true;
            }
        });

将其放入onActivityResult中

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
        super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

            if(resultCode == RESULT_OK){  
                Uri selectedImage = imageReturnedIntent.getData();
                String[] filePathColumn = {MediaStore.Images.Media.DATA};

                Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                String filePath = cursor.getString(columnIndex);
                cursor.close();


                Log.d(LOG_TAG, "Data Recieved! " + filePath);

        }

http://stackoverflow.com/questions/37655841/pick-mp3-file-from-sdcard-in-preferencescreen.. 你能帮我吗?我有一个类似的问题。 - Sagar Chavada

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接