androidtextview点击
Ⅰ Android开发:如何实现点击TextView可直接编辑
如果必须使用textview的话
这样做是可能的流程:
1、实现一个textview
2、点击textview弹出弹窗
3、弹窗上有editview,客户编辑ditview;
4、确认编辑完成,将编辑内容展示到textview
5、关闭弹窗
法二:
用editview来替代textview展示……
可能还有其他的办法吧
Ⅱ 如何实现在Android TextView中捕获链接的点击事件
Android中的TTextView很强大,我们可以不仅可以设置纯文本为其内容,还可以设置包含网址和电子邮件地址的内容,并且使得这些点击可以点击。但是我们可以捕获并控制这些链接的点击事件么,当然是可以的。
本文将一个超级简单的例子介绍一下如何实现在Android TextView捕获链接的点击事件。
关键实现
实现原理就是将所有的URL设置成ClickSpan,然后在它的onClick事件中加入你想要的控制逻辑就可以了。
复制代码代码如下:
private void setLinkClickable(final SpannableStringBuilder clickableHtmlBuilder,
final URLSpan urlSpan) {
int start = clickableHtmlBuilder.getSpanStart(urlSpan);
int end = clickableHtmlBuilder.getSpanEnd(urlSpan);
int flags = clickableHtmlBuilder.getSpanFlags(urlSpan);
ClickableSpan clickableSpan = new ClickableSpan() {
public void onClick(View view) {
//Do something with URL here.
}
};
clickableHtmlBuilder.setSpan(clickableSpan, start, end, flags);
}
private CharSequence getClickableHtml(String html) {
Spanned spannedHtml = Html.fromHtml(html);
SpannableStringBuilder clickableHtmlBuilder = new SpannableStringBuilder(spannedHtml);
URLSpan[] urls = clickableHtmlBuilder.getSpans(0, spannedHtml.length(), URLSpan.class);
for(final URLSpan span : urls) {
setLinkClickable(clickableHtmlBuilder, span);
}
return clickableHtmlBuilder;
}
如何使用
复制代码代码如下:
TextView myTextView = (TextView)findViewById(R.id.myTextView);
String url = "This is a page with lots of URLs. <a href=\"http://jb51.net\">jb51.net</> " +
"This left is a very good blog. There are so many great blogs there. You can find what" +
"you want in that blog."
+ "The Next Link is <a href=\"http://www.google.com.hk\">Google HK</a>";
myTextView.setText(getClickableHtml(url));
实现自己的控制
我们需要在ClickSpan的onClick方法中加入自己的控制逻辑,比如我们使用傲游浏览器打开点击的链接。
复制代码代码如下:
public void onClick(View view) {
Log.i(LOGTAG, "onClick url=" + urlSpan.getURL() );
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(urlSpan.getURL()));
intent.setPackage("com.mx.browser");
startActivity(intent);
}
提醒
不要忘了设置TextView的autoLink属性。
复制代码代码如下:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:id="@+id/myTextView"
android:autoLink="web"
/>
Ⅲ Android开发:如何实现点击TextView可直接编辑
解决方案1:只是selector中的默认背景就跟TextView一样直接用EditText就好了,但是获取焦点之后就还是原来的EditText的背景。其实那些直接编辑的应该都是EditText解决方案2:在xml里就能直接编辑
Ⅳ Android TextView点击 不显示txt...
你onCreate方法里tv的初始值是("Hello Martin");。点击事件的回调方法也是("Hello Martin");。点击不点击你设置的值都是("Hello Martin");。请问你要它怎么变?
其实直接点击TextView就改变T它自己的值多方便,何必节外生出这么多枝:
1. 在xml文件里的TextView节点里配置
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:onClick="aaa"
android:focusable="true"
android:text="点击改变值" />
2.在Activity里面实现aaa的内容
public void aaa(View view ){
TextView tv = (TextView) view;
tv.setText("值已经改变");
}
如果你一定得用Button,就只把 android:onClick="aaa"这个属性配给button就可以了
Ⅳ textview-Android 的TextView的点击事件如何去除
ublic void setOnClickListener(OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
getListenerInfo().mOnClickListener = l;
}
这是因为你注册了onClick事件, clickable后面不管你怎么设置应该都没效,因为OnClickListener始终存在,建议调用setOnClickListener(null);试试
Ⅵ Android 中 textview点击改变文字颜色 并在点击另一个textView时变回原来的颜色
private TextView mTextDisp; mTextDisp = (TextView) findViewById(R.id.textDisp_mian); mTextDisp.setTextColor(R.color.red);(使用color.xml文件中的颜色值) 这样写是怎么也变不成红色的,而且程序不报错,不知道朋友们有没有试过。而且debug所走的分支也是正确的。 我就单独写了一个Demo来测试,结果还是灰显。 有的朋友要说,是不是red的颜色值写错了。不是,color中的颜色值配置对着呢。 其实,答案很简单,就错在mTextDisp.setTextColor(R.color.red);这行代码上。 首先,在xml中不要写默认的字体颜色值,即android:textColor="xxx" 其次,在activity中mTextDisp.setTextColor(context.getResources().getColor(R.color.red));(使用color.xml文件中的颜色值) 这样就OK了。或者直接使用Color类中的值:mTextDisp.setTextColor(Color.RED);(使用系统自带的颜色类Color类中的颜色值)。
Ⅶ 安卓开发中,怎么让textview中的每个文字都增加点击事件
java">SpannableStringspanableInfo=newSpannableString("这是一个测试"+":"+"点击我");
spanableInfo.setSpan(newClickable(),8,11,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spanableInfo);
textView.setMovementMethod(LinkMovementMethod.getInstance());
{
@OverridepublicvoidonClick(Viewwidget){
//在此处理点击事件
}
@Override
publicvoipdateDrawState(TextPaintds){
}
}
Ⅷ textview-Android 的TextView的点击事件如何去除
去除textview-Android 的TextView的点击事件 设定TextView的clickable属性为true 可在布局文件中进行设定 也可在java代码中设定 绑定事件回调函数 完成TextView的点击事件去除
Ⅸ Android TextView加载Html ,捕获a标签点击事件
前言:
在android开发中,第一次使用安装APP,都有一个《用户协议》和《隐私政策》的弹框提示。
如下图所示:
1.怎么在一段文本中能够点击a标签呢?
首先:使用TextView显示一段代用<font>标签的文本,如下所示:
3.如何使用: