1. 程式人生 > >Android給TextView新增點選事件

Android給TextView新增點選事件

1.介面
首先設定TextView的clickable屬性為true。
可以在佈局檔案中進行設定,比如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout
android:layout_width="match_parent" android:layout_height="40dp" android:orientation="vertical" android:background="@android:color/black" >
<TextView android:id="@+id/wodeshuji" android:layout_width="match_parent" android:layout_height="match_parent"
android:text="@string/wdshuji" android:gravity="center" android:textSize="20dp" android:textColor="@color/white" />
</LinearLayout> <View android:id="@+id/view_1" android:layout_width="match_parent" android:layout_height
="25dp" android:layout_below="@+id/layout_2" android:background="#efefef" />
<LinearLayout android:layout_width="match_parent" android:layout_height="80dp" android:orientation="vertical" android:background="@android:color/white" > <TextView android:id="@+id/yonghumingcheng2" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/yhmingcheng" android:gravity="center" android:textSize="20dp" **android:clickable="true"** android:textColor="@color/black" /> </LinearLayout> <View android:id="@+id/view_2" android:layout_width="match_parent" android:layout_height="40dp" android:background="#efefef" /> <LinearLayout android:layout_width="match_parent" android:layout_height="60dp" android:orientation="vertical" android:background="@android:color/white" > <TextView android:id="@+id/wodeshoucang1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/wdshoucang" android:gravity="center" android:textSize="20dp" android:clickable="true" android:clickable="true" android:textColor="@color/black" /> </LinearLayout> <View android:id="@+id/view_3" android:layout_width="match_parent" android:layout_height="20dp" android:background="#efefef" /> <LinearLayout android:layout_width="match_parent" android:layout_height="60dp" android:orientation="vertical" android:background="@android:color/white" > <TextView android:id="@+id/piaoliushuji1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/plshuji" android:gravity="center" android:textSize="20dp" android:clickable="true" android:textColor="@color/black" /> </LinearLayout> <View android:id="@+id/view_4" android:layout_width="match_parent" android:layout_height="20dp" android:background="#efefef" /> <LinearLayout android:layout_width="match_parent" android:layout_height="60dp" android:orientation="vertical" android:background="@android:color/white" > <TextView android:id="@+id/daipingshuji1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/dpshuji" android:gravity="center" android:textSize="20dp" android:clickable="true" android:textColor="@color/black" /> </LinearLayout> <View android:id="@+id/view_5" android:layout_width="match_parent" android:layout_height="200dp" android:background="#efefef" /> </LinearLayout>

2.繫結事件回撥函式

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.view.View.OnClickListener;
import com.example.booktravel.R;

public class MyBookActivity extends Activity implements OnClickListener{
    private TextView textview1;
    private TextView textview2;
    private TextView textview3;
    @Override
    public  void onCreate(Bundle savedInstanceState)
    {

        setContentView(R.layout.mybook_layout);
        super.onCreate(savedInstanceState);
        textview1 =(TextView)findViewById(R.id.wodeshoucang1);
        textview2 =(TextView)findViewById(R.id.piaoliushuji1);
        textview3 =(TextView)findViewById(R.id.daipingshuji1);

        textview1.setOnClickListener(this);  
        textview2.setOnClickListener(this);  
        textview3.setOnClickListener(this);  

    }
    public void onClick(View view) {  
        Intent intent = null;  
        switch(view.getId()){  
        case R.id.wodeshoucang1:  
            Uri uri = Uri.parse("tel:18764563502");   
            Intent intent = new Intent(Intent.ACTION_DIAL, uri);     
            startActivity(intent);  
            break;  
        case R.id.piaoliushuji1:  
           Uri uri = Uri.parse("tel:18764563501");   
            Intent intent = new Intent(Intent.ACTION_DIAL, uri);     
            startActivity(intent);
            break;  

        case R.id.daipingshuji1:  
            Uri uri = Uri.parse("tel:18764563500");   
            Intent intent = new Intent(Intent.ACTION_DIAL, uri);     
            startActivity(intent);
            break;  
        }  
        startActivity(intent);  
    }  
}

3.總結
TextView新增點選事件和Button差不多,只是在xml檔案中TextView元件下新增一句 *android:clickable=”true”*即可。

相關推薦

AndroidTextView新增事件

1.介面 首先設定TextView的clickable屬性為true。 可以在佈局檔案中進行設定,比如: <?xml version="1.0" encoding="utf-8"?>

Android TextView新增事件

<TextView android:id="@+id/phone" android:clickable="true" --------->設定此屬性 android:layout_marginLeft="10dp

Android RecyclerViewItem新增事件

方法一、直接在Adapter中的onBindViewHolder()方法中實現點選事件 @Override public void onBindViewHolder(MyViewHolder

Android RecyclerView使用(二) -Item新增事件

在上一篇部落格Android RecyclerView使用(一)中介紹了一些基本用法,但是RecyclerView沒有提供Item的點選事件,這裡需要我們自己去實現。 方法一、直接在Adapter中的onBindViewHolder()方法中實現點選事件

android的LinearLayout新增事件

home.setOnClickListener(new View.OnClickListener() {public void onClick(View v) { int i = 0;  } }); 需要注意的是new的是View.OnClickListener(),而不是OnClickListener()

android textview 指定字改變顏色和新增事件

使用 SpannableString : TextView textview=new TextView(context); String  str="指定字改變顏色和新增點選事件"; SpannableString spannableString=new Spannable

android開發:RecyclerView的item新增事件

RecyclerView可以實現更加好看的佈局,但是對於item點選事件的實現卻有些麻煩,這裡講的是我在看過各種資料和部落格後個人覺得最好用的兩種方法(其實說到底也只是一種方法),放在這裡可以給大家學習也算是自己的一種複習 方法一: 1、首先在adapter類外定義一個O

[Swift通天遁地]一、超級工具-(1)動態標籤:UILabel文字中的Flag和url新增事件

本文將演示動態標籤的使用,它允許使用者在標籤上進行互動操作。 點選【Podfile】,檢視安裝配置檔案。 1 platform :ios, '8.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://githu

Android中WebView載入Html中的圖片新增事件

    基本的思路: (1)WebView來載入HTML。 (2)向HTML中注入JavaScript,利用JavaScript來呼叫Android中的方法(執行一些跳轉的操作等等)。  首先你必須有一個HTML或者是一個地址,或者是存到本地的一個檔案。我這裡使用的是存到本

Android學習—— TextView ClickableSpan 連結事件 改超連結顏色

private SpannableStringBuilder dealWeiboContent(String weiboContent, TextView textView) { Pattern pattern = Pattern .compile("(

submit提交按鈕新增事件(JavaScript)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>I

android 在.xml裡面新增事件onclick屬性,報錯java.lang.IllegalStateException: Could not find method

每天隨時都在寫onclick方法,自己寫的發現一個問題,在xml中定義 看報錯資訊: java.lang.IllegalStateException: Could not find method onClickButton(View) in a parent or ancestor

封裝-繼承自UIView的控制元件新增事件

在實際開發中,可能會需要給UILabel、UIView等等新增點選事件,目的就是在保留控制元件自身屬性的同時,多一個點選效果,所以這裡寫了一個UIView的category,用於處理這種情況。 1、.h檔案程式碼如下: #import <UIKit

自定義view系列(3)--自定義View新增事件

這幾天一直在看《android開發藝術探索》和《android群英傳》中關於自定義view的章節,結合著網上大神的一些心得分享,感覺自定義view這一塊受益匪淺,這裡做個心得筆記,主要記錄一下view與使用者互動的一些知識。 自定義view與使用者互動用的最多的就是單擊事件

Android富文字實現不同的文字新增事件

如果可以點選的文字位置是固定不變的,可以在String.xml中配置(如:“可以點選的”給“點選”設定點選事件)。 @Override protected void onCreate(Bundle s

ExtJS4tree的結點新增事件

在屬性root後新增listeners屬性: root:{ text:'..',id:'root', children:[{

listview中每個item新增事件

給listview每個item新增點選事件,這個聽起來好像挺迷糊的,在adapter裡面我直接就寫startactivity後來沒成功,為此研究了幾分鐘發現有三種方式實現哈。現在說一下我的解決方法。1、在activit

JQselect的option新增事件

我們在用到下拉列表框select時,需要對選中的<option>選項觸發事件,其實<option>本身沒有觸發事件方法,我們只有在select裡的onchange方法裡觸發。想新增一個option的觸發事件,在option中新增onclick 點來點去

Android自定義佈局系列之一:流式佈局(含TextView事件

前言:   之前寫了Unity優化方面的文章,之後就沒寫了。之後想把C盤擴大點,室友試了分割槽助手,很好用,也成功了,我心動也試了下,以為不會出什麼意外,更不會出現資料丟失,抱著僥倖的心理沒臨時備份,哎!沒想到最重要的E盤(所有資料)裡所有資料都丟失了,之後用了資料恢復,

android-SwipeMenuListView新增事件

     SwipeMenuListView是一個ListView的Item側滑實現的開源框架,用過QQ都知道,側滑出現置頂和刪除按鈕。我覺得使用側滑隱藏按鈕樣式比較美觀。效果如下圖: swip