Я хочу отображать ссылки, которые имеют такой формат, как /sdcard/Pictures/
и т. д., в текстовом виде как интерактивная ссылка с выделением и подчеркиванием. Я часто использую Linkify
для отображаемых ссылок, однако это не поддерживает ссылки для хранения (только Интернет, электронная почта и т. д.). Есть ли какой-нибудь способ для этого?
Android: кликабельная ссылка на хранилище SD-карты
Ответы (1)
Я бы рекомендовал отображать изображение в ImageView в Activity.
Вы можете поместить логику в свой onClick(View v)
, чтобы открыть содержимое TextView в новом действии:
@Override
public void onClick(View v) {
Intent intent = new Intent(context, ShowImageActivity.class);
intent.putExtra("imageLocation", v.getText());
context.startActivity(intent);
}
Затем в вашем ShowImageActivity onCreate() :
ImageView jpgView = (ImageView)findViewById(R.id.imageView);
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/sample-1.jpg");
jpgView.setImageBitmap(bitmap);
setContentView(R.layout.main);
https://stackoverflow.com/a/9509948/5486718
Если вам нужно, вы можете добавить собственное намерение в linkify:
String newActivityURL = "content://com.example.yourapp.yourtargetactivity/";
Pattern pattern = Pattern.compile("[/sdcard/]+[[a-f][0-9]]+[.jpg]");
Linkify.addLinks(hashView, pattern, newActivityURL);
person
Hugh
schedule
30.10.2015
На самом деле мне не нужно отображать изображение человека. Я знаю, как открывать файлы на SD-карте и отображать их. Однако это не то, что мне нужно. Мне нужно сделать ссылку в текстовом виде кликабельной (когда вы щелкнете по ней, появится браузер с каталогом). Однако Linkify может позволить мне сделать это с URL-адресом, а не с каталогом SD-карты. И в этом проблема.
- person EternaLCompleX; 30.10.2015