具有正则表达式的TextView(Linkify)规则
新建一个继承Activity类的TextViewLinkifyActivity,并设置布局文件为:textviewlinkify.xml。
首先在布局文件添加一个EditText和一个TextView组件
<EditText android:id="@+id/textviewlinkify_edit" android:layout_width="match_parent" android:layout_height="wrap_content" />
<TextView android:id="@+id/textviewlinkify_tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/show_information" android:textColor="#FFFF0000" android:textSize="22sp" /> |
之后在Activity中获取这2个组件
package lyx.feng.third;
import lyx.feng.simpletextdemo.R; import android.app.Activity; import android.os.Bundle; import android.widget.EditText; import android.widget.TextView;
public class TextViewLinkifyActivity extends Activity { private EditText edit = null; private TextView tv = null;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.textviewlinkify); this.edit = (EditText) super.findViewById(R.id.textviewlinkify_edit); this.tv = (TextView) super.findViewById(R.id.textviewlinkify_tv); } } |
在TextView实例化对象后添加一个Linkify.addLinks()方法。
Linkify.addLinks(tv, Linkify.ALL); |
最后为EditText设置OnKeyListener()方法
this.edit.setOnKeyListener(new OnKeyListener() {
@Override public boolean onKey(View v, int keyCode, KeyEvent event) { tv.setText(edit.getText().toString()); Linkify.addLinks(tv, Linkify.ALL); return false; } }); |
运行程序。