2013-02-13 82 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); 
} 

這工作完全正常的我。