在Android中的TextView中长按所选文本

8
在我的安卓应用程序中,我有一个文本视图和一些文本。我想让用户在长按单词时能够看到单词含义的工具提示框。我的问题是不知道如何实现单词的长按操作。请问有人可以帮助我吗?
对于我的糟糕英语表示抱歉。
2个回答

20

使用以下代码:

tv.setOnLongClickListener(new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            // TODO Auto-generated method stub
            return false;
        }
});

并导入:

import android.view.View.OnLongClickListener;

如果你想让文本中的某部分可点击,你需要使用ClickableSpan。可以从这个链接中复制代码。

    SpannableString ss = new SpannableString("Android is a Software stack");
    //ss.setSpan(new StyleSpan(Typeface.ITALIC), 22, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    ClickableSpan clickableSpan = new ClickableSpan() {
        @Override
        public void onClick(View textView) {
            startActivity(new Intent(MyActivity.this, NextActivity.class));
        }
    };
    ss.setSpan(clickableSpan, 22, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

    TextView textView = (TextView) findViewById(R.id.hello);
    textView.setText(ss);
    textView.setMovementMethod(LinkMovementMethod.getInstance());

1
不,这种方法会在整个文本视图上进行长按。我需要只在一个单词上进行长按!!!!! - user2586307
2
请查看我的编辑 @faezesaghafi - Shayan Pourvatan

0

使用 setOnLongClickListener 代替 OnClickListner


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接