我有一個自定義視圖,想訪問其活動中可用的字符串。我看過在視圖類中使用getContext()
的代碼,但是沒有方法可以通過意圖訪問已爲其活動提供的字符串。如何在活動中爲其自定義視圖創建一個字符串?自定義視圖如何訪問其活動?
24
A
回答
30
在視圖類返回的的getContext()方法在其構造函數上傳遞的上下文。通常這就是你想要的Activity(Activity擴展上下文)。 所以這可能對你的作品:
((Activity)getContext()).someMethod(...);
-5
我是java和android仍然noob,所以這可能無法正常工作,但我只是想幫助。
你應該能夠使用「putExtra」和「getExtra」參數意圖/活動傳遞,例如:
在您的主要活動:
Intent EditDebtActivity = new Intent(getBaseContext(), EditDebt.class);
EditDebtActivity.putExtra(DbAdapter.KEY_ROWID,dRowID);
EditDebtActivity.putExtra(DbAdapter.KEY_DEBT, dName);
EditDebtActivity.putExtra(DbAdapter.KEY_STARTINGAMOUNT, dStartAmount);
EditDebtActivity.putExtra(DbAdapter.KEY_CURRENTAMOUNT, dCurrentAmount);
EditDebtActivity.putExtra(DbAdapter.KEY_DUEDATE, dDueDate);
EditDebtActivity.putExtra(DbAdapter.KEY_INTERESTRATE, dInterestRate);
EditDebtActivity.putExtra(DbAdapter.KEY_MINPAYMENT, dMinPayment);
startActivity(EditDebtActivity);
然後在「的onCreate」在新視圖的方法,使用以下命令:
Bundle extras = getIntent().getExtras();
dRowID = extras.getLong(DbAdapter.KEY_ROWID);
String rowidname = extras.getString(DbAdapter.KEY_DEBT);
currentamount = extras.getDouble(DbAdapter.KEY_CURRENTAMOUNT);
startingamount = extras.getDouble(DbAdapter.KEY_STARTINGAMOUNT);
duedate = extras.getInt(DbAdapter.KEY_DUEDATE);
很明顯,我在這裏用我自己的代碼,但我傳遞行的信息到一個新的活動,當用戶點擊一個按鈕。
有關使用putextra和getextra這個SO鏈接獲取更多信息:Sending arrays with Intent.putExtra
希望這會有所幫助,這是我的第一筆捐款回饋社會:)
+0
[R嗨tahnks你的第一個貢獻:)我有一個列表視圖,其中列出了JPEG文件名的根。當用戶選擇時,用一個文件名觸發一個意圖。接收活動可以獲取文件名,但是它是自定義視圖的視圖不能訪問文件名。謝謝。 – turtleboy
相關問題
- 1. 如何從其他活動訪問活動視圖
- 2. 訪問自定義視圖
- 3. 從自定義按鈕訪問活動
- 4. 從自定義視圖溝通,活動
- 5. CRM 4.0自定義活動視圖
- 6. 與其父活動通信自定義視圖
- 7. 如何從非活動課程訪問活動的視圖?
- 8. 如何從其活動調用自定義視圖對象的更改
- 9. 如何正確添加自定義視圖到活動
- 10. 如何讓自定義視圖從活動
- 11. 如何訪問狀態視圖的自定義屬性?
- 12. 如何訪問自定義視圖的android:layout_width和android:layout_height參數?
- 13. 如何訪問視圖中的HttpContext.Current.User自定義屬性
- 14. 如何訪問部分中的自定義視圖助手?
- 15. 機器人如何訪問自定義列表視圖項
- 16. 如何從我的自定義視圖中訪問layout_height?
- 17. 如何訪問UINavigationController的「自定義內容視圖」
- 18. 自定義視圖滾動問題Android
- 19. 製作自定義視圖並將其從其他活動中延伸
- 20. 如何從自定義視圖中訪問視圖控制器中的變量?
- 21. 如何訪問視圖(或局部視圖)的自定義屬性?
- 22. 自定義視圖動畫
- 23. 訪問的,其在主要活動定義(在來電)
- 24. 從自定義列表視圖啓動活動
- 25. 點擊自定義列表視圖按鈕時啓動活動
- 26. 如何繪製位圖中一個自定義視圖中的非活動類
- 27. 如何從另一個活動訪問按鈕/活動的視圖
- 28. 如何從活動訪問視圖的維度?
- 29. 如何在TabActivity中的活動中訪問視圖?
- 30. 如何訪問視圖中的活動記錄關聯?
思茅完美,非常感謝。 – turtleboy
對於視圖直接由活動創建的情況,這是一個很好的解決方案。這並非總是如此。如果該視圖是對話框或PopupWindow的視圖,則將該上下文作爲活動進行投擲將導致錯誤 – EyalBellisha
正如@EyalBellisha指出的那樣,這可能並不總是奏效。在上下文包裝的兼容性小部件的情況下,例如從'android.support.v *'擴展的情況下,'getContext()'將不是類型Activity。例如,對於AppCompatButton,它是TintContextWrapper類型,不能轉換爲Activity。 –