首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何单击或轻敲TextView文本

如何单击或轻敲TextView文本
EN

Stack Overflow用户
提问于 2010-07-25 18:02:36
回答 7查看 312.3K关注 0票数 210

我知道这很容易(哦……)但我正在寻找一种方法来运行在安卓应用程序中点击或点击TextView文本行的方法。

我一直在考虑按钮侦听器和匿名方法侦听器调用,但它似乎就是不适用于TextView。

有人能指给我一些代码片段来说明单击或点击TextView中的一段文本是如何运行一个方法的吗?

EN

回答 7

Stack Overflow用户

发布于 2010-11-06 08:03:44

您可以使用以下属性在xml中设置单击处理程序:

代码语言:javascript
复制
android:onClick="onClick"
android:clickable="true"

不要忘记clickable属性,如果没有它,就不会调用click处理程序。

main.xml

代码语言:javascript
复制
    ...

    <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

代码语言:javascript
复制
       public class MyActivity extends Activity {

          public void onClick(View v) {
            ...
          }  
       }
票数 466
EN

Stack Overflow用户

发布于 2010-08-17 05:30:10

这可能不是你正在寻找的东西,但这就是我正在做的事情。所有这些都是在我的onCreate之后

代码语言:javascript
复制
boilingpointK = (TextView) findViewById(R.id.boilingpointK);

boilingpointK.setOnClickListener(new View.OnClickListener() {
    @Override
    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");
    }
});
票数 55
EN

Stack Overflow用户

发布于 2010-07-25 19:06:39

好了,我已经回答了我自己的问题(但这是最好的方法吗?)

以下是当您单击或点击TextView中的某些文本时如何运行方法:

代码语言:javascript
复制
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");  
    }
}

我的main.xml是:

代码语言:javascript
复制
<?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>
票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3328757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档