2012-10-21 79 views
0

我已經通過其他帖子,發現我正在做我不應該做的事情,通過新操作員初始化活動。系統服務不可用需要設計故障幫助

基本上我有兩個活動類PlayListActivity(擴展ListActivity)和MainActivity。我在PlayListActivity中有一個公共函數,需要在MainActivity中調用。我應該如何實現這一目標?我需要遵循什麼樣的模式?另外我有一個問題,我想啓動此功能(定義駐留在ListActivity中),當我的活動佈局中單擊按鈕時沒有意圖。有沒有辦法?如果是的話,請用一個例子讓我看看。

一個新手。

回答

0

2常見的方式做到這一點:

弗里斯特選項:擴展應用和2個活動之間暴露的接口有:

public class MyApplication extends Application {

private static MyApplication singleton; 
public ListAcvitiy2MainActivityItf ltm; 
public MainActivity2ListActivityItf mtl; 

@Override 
public void onCreate() { 
    super.onCreate(); 
    singleton = this; 
} 

public MyApplicatoin getInstance(){ 
    return singleton; 
} 

}

在每個接口

,聲明你想公開的方法:

public interface ListAcvitiy2MainActivityItf { 
    public void someMethod(); 
} 

,並在清單申報所有MyApplication:

<application 
    android:icon="@drawable/launch_icon" 
    android:label="@string/app_name" 
    android:launchMode="singleTask" 
    android:name="MyApplication"> 

第二個選項:在每個活動定義一個處理程序,並使用Handler.sendMessage的活動之間發送消息:

私人處理器mHandler =新的處理程序(){ @Override public void handleMessage(Message msg){...

+0

好吧,我想我會嘗試第二個...所以處理程序基本上是一個類,但在什麼w生病了嗎?以及如何實現? – Saurabh