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.如何使用: