Как получить изображение и имя изображения из файла? - PullRequest
0 голосов
/ 03 мая 2020

Я установил ниже коды для вкладки фрагмента. Я пытаюсь получить изображение и его имя из файла и добавляю его в отдельные списки. Я получаю изображения успешно, но не могу получить соответствующие имена. Каждый раз курсор ноль. Что я могу сделать?

 public void imageList()
    {
        File imagePathForImage = new File(Environment.getExternalStorageDirectory());
        imageList = imageReader(imagePathForImage);

        if(imageList.size() != 0)
        {
            gallery.setAdapter(new imageAdapater());
            gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                    Intent openImage = new Intent(getActivity(), FullImageActivity.class);
                    openImage.putExtra("Img :", imageList.get(i).toString());
                    startActivity(openImage);
                }
            });
        }
        else
        {
            Toast.makeText(getActivity(), "No image Found", Toast.LENGTH_SHORT).show();
        }
    }


    public void imageNameList ()
    {
        imageNameList = new ArrayList<String>();
        File imagePathForName = new File(Environment.getExternalStorageDirectory() );
        Cursor cursor = getContext().getContentResolver().query(Uri.fromFile(imagePathForName), null, null, null, null);
        if (cursor == null)
        {
            Toast.makeText(getActivity(), "No Image File Found", Toast.LENGTH_SHORT).show();
        } else
        {
            cursor.moveToFirst();
            int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DISPLAY_NAME);
            imageNameList.add(cursor.getString(idx));
            Log.i( "FineName: " , cursor.getString(idx) );
            cursor.close();
        }
    }

Я планирую создать галерею изображений с соответствующими именами под ней.

1 Ответ

0 голосов
/ 03 мая 2020

вы можете получить с пути

String filename=path.substring(path.lastIndexOf("/")+1);
...