小编강윤식*_*강윤식的帖子

android ClickableSpan拦截click事件

我在布局中有一个TextView.这很简单.我在布局中放了一个OnClickListener,TextView的某些部分设置为ClickableSpan.我希望ClickableSpan在点击时在onClick函数中执行某些操作,当单击TextView的其他部分时,它必须在布局的OnClickListener的onClick函数中执行某些操作.这是我的代码.

    RelativeLayout l = (RelativeLayout)findViewById(R.id.contentLayout);
    l.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this, "whole layout", Toast.LENGTH_SHORT).show();
        }
    });

    TextView textView = (TextView)findViewById(R.id.t1);
    textView.setMovementMethod(LinkMovementMethod.getInstance());

    SpannableString spannableString = new SpannableString(textView.getText().toString());
    ClickableSpan span = new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            Toast.makeText(MainActivity.this, "just word", Toast.LENGTH_SHORT).show();
        }
    };
    spannableString.setSpan(span, 0, 5, Spannable.SPAN_INCLUSIVE_INCLUSIVE);        
    textView.setText(spannableString);
Run Code Online (Sandbox Code Playgroud)

events android textview intercept

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

标签 统计

android ×1

events ×1

intercept ×1

textview ×1