簡體   English   中英

不會調用TextView的OnClickListener

[英]OnClickListener for TextView does not get called

我的Android應用程序中有幾個文本鏈接 ,它們是電子郵件地址Web鏈接 我使用以下代碼片段進行設置(例如Web鏈接):

TextView textView = (TextView) findViewById(textViewId);
spannedText = Html.fromHtml("<a href=\"" + url + "\">" + titleText + "</a>");
textView.setText(spannedText, TextView.BufferType.SPANNABLE);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Handle click
    }
});

TextView 沒有設置特殊屬性,例如android:linksClickableandroid:clickableandroid:focusable android:linksClickable 其樣式繼承自@android:style/TextAppearance.Small

由於某些原因,永遠不會調用OnClickListener

刪除此代碼

textView.setMovementMethod(LinkMovementMethod.getInstance());

並手動添加以下鏈接

textView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Handle click
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);

    }
});

從代碼片段中無法分辨出您已粘貼的代碼。 請顯示更多代碼。 例如,您對textView的聲明是什么樣的?

在父視圖上是否有一個onClick偵聽器,它可能會覆蓋文本視圖? 另外,您可能希望不要將匿名內部類用作偵聽器,而應將下面的view.OnClickListener用作單擊事件。

myActivity extends Activity implements View.OnClickListener {
    @Override
    publiv void onClick(View v) {
        if(V.getId() == textViewId) {
             // do work
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM