Как нажать или коснуться на тексте TextView

Я знаю, что это настолько легко (doh...), но я ищу способ выполнить метод при ответвлении или нажатии на строку TextView текста в приложении для Android.

Я продолжаю думать о слушателях кнопки и анонимных вызовах слушателя метода, но это просто, кажется, не относится к TextView.

Кто-то может указать на меня на некоторый фрагмент кода, чтобы показать, как нажатие или ответвление на части текста в TextView выполняют метод?

190
задан Droid 24 July 2010 в 23:02
поделиться

2 ответа

Хорошо, я ответил на свой вопрос (но это лучший способ?)

Вот как запустить метод, когда вы щелкаете или касаетесь некоторого текста в 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>
28
ответ дан 23 November 2019 в 05:35
поделиться

Возможно, это не совсем то, что вы ищете, но это то, что сработало для того, что я делаю. Все это после моего 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");
    }
});
46
ответ дан 23 November 2019 в 05:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: