Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android App Widget中如何調用RemoteView中的函數

Android App Widget中如何調用RemoteView中的函數

編輯:Android開發實例

     我們在開發App Widget時候,要創建一個RemoteView來呈現界面。但是會發現如果我們想要控制RemoteView中的view時候是無法使用findViewbyId來控制Child View對象。


      從目前SDK情況看,android為我們了一些解決方法。

Remote View提供了一些方法可以操控child view。在文檔中可以查到如下函數:
SetBitmap,SetBoolean,SetBundle,setImageViewBitmap,setInt...
1. 第一個參數int viewId來確定操作哪個view
2. 第二個參數 methodName,是第一個參數view對象裡面提供的函數方法的名稱,是個字符串類型。比如“setVisibility”
3. 第三個參數 一般依據函數格子不同,但是其實質就是第二個參數methodName所需要的參數。

舉例:
    如果我們需要把widget中的一個view臨時隱藏,我們可以這樣調用:remoteviews.setInt(textviewid,"setVisibility",VIEW.INVISIBLE);
    又如,我們改變textview中一些字符串,可以調用:remoteviews.setInt(R.id.updatedate, "setText", R.string.updateinfor);
關鍵是理解第2個和第3個參數。

當然一般情況下對image,text,visible,我們沒有必要麻煩,可以直接調用setViewVisibility,setTextViewText,setImageViewResource。


    但是並不是所有的child view方法都可以調用,因為透過Remote View提供的方法是有限的。如,當我們希望調用一個不帶參數的函數時就無能為力(就目前SDK看)。
期望後續Android會改善。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved