Android HTML в TextView ссылка на загружаемый файл не работает

#android #html #textview

#Android #HTML #textview

Вопрос:

Я видел много ответов на <a> тег, используемый в Android HTML.

У меня проблема, с <a href='example.com/test.json' download /> которой я пытался использовать простой HTML-код, и он автоматически загружается из браузера.

Но когда я пытаюсь сделать то же самое в Android TextView, он не работает и просто отображает данные в браузере.

Я хотел бы загрузить этот файл, используя тот <a> же тег, что и в веб-версии. Возможно ли это сделать?

Образец JSON, который я нашел в Интернете и написал в <a> теге здесь.

 <a href="https://einvoice1-trial.nic.in/Documents/SampleJson.json" target="_blank" download>Sample File</a>  

Ответ №1:

Использование кода Java:

    TextView textView =(TextView)findViewById(R.id.textView);
   textView.setClickable(true);
   textView.setMovementMethod(LinkMovementMethod.getInstance());
   String text = "<a href='example.com/test.json' download> Download Now </a>";
   textView.setText(Html.fromHtml(text)); 

// From API level >= 24 onwards Html.fromHtml(String source) is deprecated instead use fromHtml(String, int)
   textView.setText(Html.fromHtml(text, Html.FROM_HTML_MODE_COMPACT));
  

Или в XML-файле макета, внутри атрибутов виджета TextView

    android:autoLink="web"
   android:linksClickable="true
  

Комментарии:

1. является ли URL-адрес файлом json?

2. Да, вы можете проверить, есть ли образец, который я нашел в Интернете einvoice1-trial.nic.in/Documents/SampleJson.json

3. можете ли вы объяснить мне, чего вы пытаетесь достичь в деталях?

4. Я хочу загрузить этот файл следующим образом: support.oneskyapp.com/hc/en-us/article_attachments/202761627 /…

5. итак, вы имеете в виду, что после открытия вы хотите, чтобы он был загружен.? правильно?