2013-02-13 83 views
3

我对Android很陌生,我有些疑惑。让看TextView可点击,Android?

我有一个TextView

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

我怎么就使文本Go Back样子点击一个?我以外观和感觉来问。 TextView应该显示为可点击,以便如何渲染Button

在此先感谢。

+0

意味着点击后你想改变textview图像如果我没事吧????? – duggu 2013-02-13 11:15:57

+0

这是重复的问题。 http://stackoverflow.com/questions/5537043/making-a-textview-clickable-in-android – Shadow 2013-02-13 11:19:57

+0

只需使用按钮? – 2013-02-13 11:21:32

回答

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> 

然后添加两个PNG的到你的绘图资源文件夹... mybutton1.png,mybutton2巴纽。 所以你有2个不同的状态为您的按钮。

现在将背景设置为你的TextView:

android:background="@drawable/mybutton" 

然后,在你的代码中必须设置一个clicklistener:

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

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

}); 

而这一切......您可以使用形状,而不是图像太。

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 
} 

};); 
2

为了使您TextViewclickable只是添加到您的TextView

android:clickable="true" 

后,您可以使用此设置onClickListener它:

yourTextView.setOnClickListener(new OnClickListener() { 

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

你可以使用Touchlistener a LSO:

textview.setOnTouchListener(new OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       // TODO Auto-generated method stub 
       return false; 
      } 
     }); 
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 

     } 
    }); 
0

希望使用全到u: -

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; 
     } 

    } 
}; 
1

只是这样做

yourTextView.setOnClickListener(new OnClickListener() { 

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

你不偶数n EED监听器:

<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); 
} 

这工作完全正常的我。