-2

我有一个 Activity_X,它什么时候做一些动作必须通知 Activity_A 改变它的 ListItems 等..,

我试过了:

public interface NewItemListener {

    public void onNewItem (int id, int count);
}

public class Activity_X extends SherlockFragmentActivity {

    private NewItemListener NIL;
    public void setNewItemListener(NewItemListener listen) {

        NIL = listen;
    }
    public void onSomeAction {

       NIL.onNewItem(10, 20);
    }
}

public class Activity_A extends SherlockFragmentActivity implements NewItemListener{

    onCreate(){
        Activity_X Ax = new Activity_X();
        Ax.setNewItemListener(this);
    }

    @Override
    public void onNewItem(int id, int count) {

        Log.d("id = " + id, "count = " + count);
    }
}

但似乎没有任何效果。

谢谢你

4

2 回答 2

1

你根本不了解android的概念。

一次总是只有一个活动可见。

因此,您的代码将不起作用。您不能通过调用 new Activity_X(); 来实例化 Activity;

Android OS 负责启动/实例化一个 Activity,一个 Activity 有它的生命周期(onCreate()、onResume()、onPause() onDestroy()),但你不能像之前提到的那样直接实例化 Activity ,屏幕上通常只有一个活动的活动(如果您在正常活动之上有一个具有透明背景的活动,那么您可以同时活动两个活动的唯一方法是)。

阅读: Android 入门

于 2013-07-04T08:39:25.570 回答
0

对于活动之间的通信,您应该使用Intent

共享“信息”的另一种方法是在您的活动中使用线程并发送消息,请参阅:处理程序

我希望这有帮助

于 2013-07-04T08:48:22.403 回答