我知道这很容易(哦……)但我正在寻找一种方法来运行在安卓应用程序中点击或点击TextView文本行的方法。
我一直在考虑按钮侦听器和匿名方法侦听器调用,但它似乎就是不适用于TextView。
有人能指给我一些代码片段来说明单击或点击TextView中的一段文本是如何运行一个方法的吗?
发布于 2010-11-06 08:03:44
您可以使用以下属性在xml中设置单击处理程序:
android:onClick="onClick"
android:clickable="true"
不要忘记clickable属性,如果没有它,就不会调用click处理程序。
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) {
...
}
}
发布于 2010-08-17 05:30:10
这可能不是你正在寻找的东西,但这就是我正在做的事情。所有这些都是在我的onCreate
之后
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");
}
});
发布于 2010-07-25 19:06:39
好了,我已经回答了我自己的问题(但这是最好的方法吗?)
以下是当您单击或点击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");
}
}
我的main.xml是:
<?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>
https://stackoverflow.com/questions/3328757
复制相似问题