看看TextView可点击,Android?

时间:2013-02-13 11:14:04

标签: android

我对Android很新,我有些疑惑。

我有TextView

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Go Back" />

为什么我将文字Go Back看作可点击的文字?我问的是外观和感觉。 TextView应显示为Button呈现的可点击方式。

提前致谢。

8 个答案:

答案 0 :(得分:2)

制作TextView clickable只需将其添加到TextView

android:clickable="true"

之后,您可以使用以下方法设置onClickListener

    yourTextView.setOnClickListener(new OnClickListener() {

    @Override
            public void onClick(View v) {
                // do your work here
            }
        });

答案 1 :(得分:2)

在名为“mybutton.xml”的可绘制文件夹中创建一个xml文件并写下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true">

    <item 
        android:state_pressed="true"
        android:drawable="@drawable/mybutton2"/>
    <item
        android:drawable="@drawable/mybutton1"/>

</selector>

然后在你的drawables文件夹中添加两个png ... mybutton1.png,mybutton2.png。 所以你的按钮有两种不同的状态。

现在将背景设置为textview:

android:background="@drawable/mybutton"

然后,在您的代码中,您必须设置clicklistener:

findViewById(R.id.mytextview).setOnClickListener(new OnClickListener(){

 @Override
 public void onClick(View v) {
    //your code goes here
 }

});

这就是全部......你也可以使用形状代替图像。

答案 2 :(得分:1)

试试这个:

final TextView view = (TextView) findViewById(R.id.textview1);
view.setOnClickListener(new View.OnClickListener() {

 @Override
 public void onClick(View v) {
// request your webservice here. Possible use of AsyncTask and ProgressDialog
// show the result here - dialog or Toast
 }

 };);

答案 3 :(得分:1)

您也可以使用Touchlistener:

textview.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                return false;
            }
        });

答案 4 :(得分:1)

就这样做

yourTextView.setOnClickListener(new OnClickListener() {

@Override
        public void onClick(View v) {
            // do your work here
        }
    });

答案 5 :(得分:1)

你甚至不需要听众:

<TextView
    android:id="@+id/needCheeseburger"
    android:clickable="true"
    android:onClick="getCheeseburger" />

然后只是:

public void getCheeseburger(View view) {
    Intent intent = new Intent(this, giveMeCheeseburger.class);
    startActivity(intent);
}

这对我来说非常好。

答案 6 :(得分:0)

像这样使用android:clickable="true"

的TextView

 <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:text="Large Text" />

text.setOnClickListener(new OnClickListener() {         
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });

答案 7 :(得分:0)

希望充分利用你: -

boolean text_click =false;
TextView textview = (TextView) findViewById(R.id.textview1);
    public OnClickListener textOnClick = new OnClickListener() {

    @Override
    public void onClick(View v) {

        if (Constants.text_click) {
            textview.setBackgroundResource(R.drawable.textbox);

            text_click = false;
        } else {

            textview.setBackgroundResource(R.drawable.textboxonpress);

            text_click = true;
        }

    }
};
相关问题