綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[資料] Textview的3種事件

[複製連結] 查看: 1595|回覆: 5|好評: 1
跳轉到指定樓層
樓主
暗桌之光 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2011-10-5 18:02

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
  1. TextView tv_title = new TextView(this);
  2. tv_title.setClickable(true); //單擊事件
  3. tv_title.setFocusable(true); //獲取焦點事件
  4. tv_title.setFocusableInTouchMode(true); //觸摸事件
複製代碼
  1. //單擊處理 tv_title.setOnClickListener(new OnClickListener()
  2. { public void onClick(View v) { } });
複製代碼
  1. //獲取焦點事件 (觸摸)
  2. tv_title.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { TextView tv_current_title = (TextView) v; // TODO Auto-generated method stub if (hasFocus == true) { //do something } else { //do something } } });
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 1幫助 +1 收起 理由
idvtw + 1

查看全部評分

收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2011-10-5 20:27
本帖最後由 ploglin 於 2011-10-6 08:56 編輯

一般來說,我都會把所有物件的 setOnClickListener 設到同一個 method
public void onClick(View v) 的 function中,利用 v.getId() 來識別不同的物件,做不同的處理。
小小的分享
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
guoty | 收聽TA | 只看該作者
發表於 2011-10-6 08:33
請問樓上先進,如何實現,能否展示完整例子?
先謝謝了!!!
新手上路請多指教
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
ploglin | 收聽TA | 只看該作者
發表於 2011-10-6 08:52
下面是比較完整的代碼,如果認為有問題的話,大家可以給我點意見。

  1. public class MenuActivity extends Activity implements Runnable, OnClickListener {
  2.         /** Called when the activity is first created. */
  3.         private static final String TAG = MenuActivity.class.getSimpleName();
  4.         private final int HANDLER_OF_SUCCESS = 0;
  5.         private Button go_query;

  6.         @Override
  7.         public void onCreate(Bundle savedInstanceState) {
  8.                 super.onCreate(savedInstanceState);
  9.                 setContentView(R.layout.menu);

  10.                 go_query = (Button) findViewById(R.id.go_query);

  11.                 go_query.setOnClickListener(this);

  12.                 Thread thread = new Thread(this);
  13.                 thread.start();
  14.         }

  15.         public void run() {
  16.                 // TODO Auto-generated method stub
  17.                 sendMsg(HANDLER_OF_SUCCESS, new Bundle());
  18.         }

  19.         private void sendMsg(int flag, Bundle, bundle) {
  20.                 Message msg = new Message();
  21.                 msg.what = flag;
  22.                 msg.setData(bundle);
  23.                 handler.sendMessage(msg);
  24.         }

  25.         private Handler handler = new Handler() {
  26.                 @Override
  27.                 public void handleMessage(Message msg) {
  28.                         switch (msg.what) {
  29.                         case HANDLER_OF_SUCCESS:
  30.                                 break;
  31.                         }
  32.                 }
  33.         };

  34.         @Override
  35.         public void onClick(View v) {
  36.                 // TODO Auto-generated method stub
  37.                 switch (v.getId()) {
  38.                 case R.id.go_query:
  39.                         startActivity(new Intent().setClass(this, TextActivity.class));
  40.                         break;
  41.                 }
  42.         }

  43. }
複製代碼

評分

參與人數 1幫助 +1 收起 理由
idvtw + 1

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
guoty | 收聽TA | 只看該作者
發表於 2011-10-6 09:52
太感激了,真的謝謝您。
這讓程式碼少了好多。
再次謝謝如此快速回覆!!!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
ploglin | 收聽TA | 只看該作者
發表於 2011-10-6 10:32
幫的上忙就好,有任何問題,大家都可以互相交流一下。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則