小编Aru*_*mar的帖子

在android中的textview中单击时获取链接文本的值

我有一个TextView.我通过匹配一些正则表达式模式添加了像"@abc","#android"这样的自定义链接.链接显示正常.但是,我没有办法提取被点击的链接的文本.我正在使用SpannableString将setText设置为textview.然后我使用我的自定义ClickableSpan设置跨度.它工作正常.另外我还可以捕捉onclick事件.但是onClick()方法有一个View参数.如果我在View上调用getText()(在将其类型转换为TextView之后),则返回整个文本.我搜索了很多,但总是找到添加链接和捕获事件的方法,但没有人告诉我获取链接的文本.

这是我用来添加链接和接收onclick的代码.我从其中一个SO线程中获取了代码..

Pattern pattern = Pattern.compile("@[\\w]+");
Matcher matcher = pattern.matcher(tv.getText());//tv is my TextView
while (matcher.find()) {
    int x = matcher.start();
    int y = matcher.end();
    final android.text.SpannableString f = new android.text.SpannableString(
    tv.getText());
    f.setSpan(new InternalURLSpan(new View.OnClickListener() {
        public void onClick(View v) {
        showDialog(1);
    }
}), x, y, android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(f);
tv.setLinkTextColor(Color.rgb(19, 111, 154));
tv.setLinksClickable(true);
Run Code Online (Sandbox Code Playgroud)

这是InternalURLSpan:

class InternalURLSpan extends android.text.style.ClickableSpan {
    View.OnClickListener mListener;

    public InternalURLSpan(View.OnClickListener listener) {
        mListener = listener; …
Run Code Online (Sandbox Code Playgroud)

android text hyperlink textview

12
推荐指数
1
解决办法
5035
查看次数

需要在linux shell命令中转义的字符列表

在Linux和其他操作系统中,文件名称中可以包含类似字符(,),[,],<space>,等.每当我尝试在我的bash命令中使用任何这些文件时,如cat,ls等,我需要像下面这样逃避它们:

filename abc(10-oct).txt
cat abc(10-oct).txt wont work.
Run Code Online (Sandbox Code Playgroud)

如果我在前面"("")"字符有"\"

cat abc\(10-oct\).txt
Run Code Online (Sandbox Code Playgroud)

这有效

我试图通过Java程序自动化一些Linux shell命令.我不确定我必须要处理的所有字符并逃脱它们.

如果有人可能指向我可以获得整个字符列表的资源,那将是一个很大的帮助.

非常感谢

java regex bash

4
推荐指数
2
解决办法
7308
查看次数

如何在java.io.File对象中更改文件路径位置

问题说明了一切。我有一个指向的File对象/home/user/filename1

如果我调用file.getAbsolutePath(),它将返回 /home/user/filename1

我的问题是-

  1. 我们可以将文件对象内部的路径更改为其他位置吗?
  2. 如果是,那怎么办?

谢谢

java file-io

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

android ×1

bash ×1

file-io ×1

hyperlink ×1

regex ×1

text ×1

textview ×1