почему он показывает ноль при выборе файла из хранилища? - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу выбрать PDF-файл одним нажатием кнопки и отправить этот файл в URL-адрес другого нажатия кнопки. Моя проблема с выбором файла PDF. Я получаю нулевое значение в методе "onActivityResult()".

Мой код

SelectButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent intent = new Intent();
            intent.setType("application/pdf");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(Intent.createChooser(intent, "Select Pdf"), PDF_REQ_CODE);

        }
    });

Метод ActivityResult равен

 @Override
   public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == PDF_REQ_CODE && resultCode == RESULT_OK && data != null && data.getData() != null) {

            uri = data.getData();;
            SelectButton.setText("PDF is Selected");

        }

    }

Но я получаю URI как ноль и получаю исключение нулевого указателя при попытке получить путь к файлу из URI.

1 Ответ

0 голосов
/ 26 апреля 2018

Попробуйте и скажите мне!

 Button button = (Button) x.findViewById(R.id.buttonStripText);
        button.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("file/*");
                startActivityForResult(intent,PICKFILE_RESULT_CODE);
}

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        switch(requestCode){
            case PICKFILE_RESULT_CODE:
                if(resultCode==RESULT_OK){
                   fileName = data.getData().getPath();
                }
                break;

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...