我已经浏览了其他帖子,发现通过新操作符初始化活动,我正在做我不应该做的事情。
基本上我有两个活动类,一个是PlayListActivity(扩展ListActivity)和一个MainActivity。我在PlayListActivity中有一个公共函数,我需要在MainActivity中调用它。我该怎么做?有什么模式我需要遵循?此外,我有一个问题,我想在我的活动布局中单击按钮而不是通过意图启动此功能(定义驻留在ListActivity中)。有办法吗?如果是,那么请给我一个例子。
新手。
答案 0 :(得分:0)
执行此操作的两种常用方法:
Frist选项:扩展Application并在那里展示两个活动之间的接口:
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,并使用Handler.sendMessage在活动之间发送消息:
private Handler mHandler = new Handler(){ @覆盖 public void handleMessage(Message msg){...