2011-08-18 62 views
-4

這可能不是一個新問題 - 我有我的主要活動,我想在另一個活動中調用方法。現在,如果我這樣做,我的應用程序不響應並關閉。應用程序崩潰致電一個新的活動

我聽說有一些特殊的方法來調用其他活動類中的方法嗎?

+1

您能否顯示您的代碼或您收到的錯誤。 –

+0

發佈您正在嘗試使用的代碼。 – FoamyGuy

+0

太少的信息說什麼。請詳細說明。爲什麼你需要從另一個活動中調用一個方法。如果需要2個活動,那麼最好是全球化。 – Ronnie

回答

0

只需創建另一個類並將該方法置於該類中。然後從兩個活動中進行訪問。

+0

我創建了另一個類來設置和獲取該類的信息。我發現寫這個課程並不會導致活動崩潰,但從這個課程獲取信息是什麼讓我的活動崩潰。 – Yosi199

+0

如果有幫助,我想從我創建了一個工具類信息來改變一個TextView文本: 公共類班次擴展活動實現OnClickListener { \t \t實用UT2 =新的實用程序(); public void onCreate(Bundle savedInstanceState){ \t super.onCreate(savedInstanceState); \t setContentView(R.layout.shifts); \t \t TextView setDate =(TextView)this.findViewById(R.id.shifts); \t setDate.setText(UT2.date); } \t @覆蓋 公共無效的onClick(視圖v){ \t // TODO自動生成方法存根 }} – Yosi199

3

這通常是一個糟糕的主意,原因是因爲您無法控制不是活動活動的活動的生命週期。你可以調用一個方法,並發現你所調用的活動已被銷燬以回收資源。

一個更好的選擇是創建一個Utility類,它可以爲多個活動提供功能,或者將應用程序整個生命週期中必須保留的內容放入應用程序類或共享首選項中。

如果您所要做的只是將信息傳遞給新活動或從另一個活動獲取信息,則可能需要將該信息打包到意圖中,或者再次將其放入共享首選項中。

+0

是的,我想通過這是在第一個活動產生的一些信息,並將其顯示在其他活動中也是如此。你能解釋更多關於這個工具類以及如何使用它嗎? – Yosi199

+0

如果你只是想傳遞信息,你應該把數據作爲一個額外的數據給你的意圖調用即將到來的類。 http://stackoverflow.com/questions/2965109/passing-data-between-activities-in-android – Pyrodante

+0

這個數據需要顯示在第二個Activity的屏幕上,所以基本上我需要發送信息到另一個類,然後以某種方式使用第二個活動從該「實用程序類」中提取該信息並將其顯示在屏幕上? – Yosi199

相關問題