Skip to main content

How to click or tap on a TextView text


I know this is so easy (doh...) but I am looking for a way to run a method on tapping or clicking a TextView line of text in an Android App.



I keep thinking about button listeners and anonymous method listener calls, but it just does not seem to apply to TextView.



Can someone point me at some code snippet to show how clicking or tapping on a piece of text in a TextView runs a method?


Source: Tips4allCCNA FINAL EXAM

Comments

  1. You can set the click handler in xml with these attribute:

    android:onClick="onClick"
    android:clickable="true"


    Don't forget the clickable attribute, without it, the click handler isn't called.

    main.xml

    ...

    <TextView
    android:id="@+id/click"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click Me"
    android:textSize="55sp"
    android:onClick="onClick"
    android:clickable="true"/>
    ...


    MyActivity.java

    public class MyActivity extends Activity {

    public void onClick(View v) {
    ...
    }
    }

    ReplyDelete
  2. OK I have answered my own question (but is it the best way?)

    This is how to run a method when you click or tap on some text in a TextView:

    package com.textviewy;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.TextView;

    public class TextyView extends Activity implements OnClickListener {

    TextView t ;
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    t = (TextView)findViewById(R.id.TextView01);
    t.setOnClickListener(this);
    }

    public void onClick(View arg0) {
    t.setText("My text on click");
    }
    }


    and my main.xml is:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout android:id="@+id/LinearLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content"></LinearLayout>
    <ListView android:id="@+id/ListView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></ListView>
    <LinearLayout android:id="@+id/LinearLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content"></LinearLayout>

    <TextView android:text="This is my first text"
    android:id="@+id/TextView01"
    android:layout_width="wrap_content"
    android:textStyle="bold"
    android:textSize="28dip"
    android:editable = "true"
    android:clickable="true"
    android:layout_height="wrap_content">
    </TextView>
    </LinearLayout>

    ReplyDelete
  3. This may not be quite what you are looking for but this is what worked for what I'm doing. All of this is after my onCreate.


    boilingpointK = (TextView) findViewById(R.id.boilingpointK);

    boilingpointK.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {


    if ("Boiling Point K".equals(boilingpointK.getText().toString()))

    boilingpointK.setText("2792");


    else if ("2792".equals(boilingpointK.getText().toString()))

    boilingpointK.setText("Boiling Point K");
    } });

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?

CCNA 3 Final Exam => latest version

1 . Which security protocol or measure would provide the greatest protection for a wireless LAN? WPA2 cloaking SSIDs shared WEP key MAC address filtering   2 . Refer to the exhibit. All trunk links are operational and all VLANs are allowed on all trunk links. An ARP request is sent by computer 5. Which device or devices will receive this message? only computer 4 computer 3 and RTR-A computer 4 and RTR-A computer 1, computer 2, computer 4, and RTR-A computer 1, computer 2, computer 3, computer 4, and RTR-A all of the computers and the router   3 . Refer to the exhibit. Hosts A and B, connected to hub HB1, attempt to transmit a frame at the same time but a collision occurs. Which hosts will receive the collision jamming signal? only hosts A and B only hosts A, B, and C only hosts A, B, C, and D only hosts A, B, C, and E   4 . Refer to the exhibit. Router RA receives a packet with a source address of 192.168.1.65 and a destination address of 192.168.1.161...