使textview的一部分可点击的麻烦

时间:2016-02-19 08:17:41

标签: android textview

TextView t;     
TextView t2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    t.setMovementMethod(LinkMovementMethod.getInstance());
    t=(TextView) findViewById(R.id.textView1);
    t2=(TextView) findViewById(R.id.textView2);
    String s=t.getText().toString();
    t.setText(s, BufferType.SPANNABLE);
    int i=s.indexOf("create one here");
    int i2=i+14;

    Spannable mySpannable =new  SpannableString(t.getText());//(Spannable)t.getText();

    ClickableSpan myClickableSpan = new ClickableSpan()         
    {
        @Override
        public void onClick(View widget) {
            t2.setText("working");  
        }

    };

    mySpannable.setSpan(myClickableSpan, i, i2 , 
    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);         
}

我不知道这段代码出了什么问题。当我运行它时,应用程序在启动时崩溃

2 个答案:

答案 0 :(得分:2)

t.setMovementMethod(LinkMovementMethod.getInstance());
t=(TextView) findViewById(R.id.textView1);
当你尝试t时,

nullsetMovementMethod。首先分配t

答案 1 :(得分:0)

您正在尝试使用t而不进行初始化。

移动

t.setMovementMethod(LinkMovementMethod.getInstance());

以下

t=(TextView) findViewById(R.id.textView1);