如何在android中注册监听器

时间:2013-07-04 08:28:02

标签: android

我有一个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);
    }
}

但似乎没有任何效果。

谢谢

2 个答案:

答案 0 :(得分:1)

你根本不了解机器人概念。

一次只能看到一个活动。

因此您的代码无效。您无法通过调用new Activity_X();

来实例化Activity

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

阅读: Android getting started

答案 1 :(得分:0)

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

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

我希望这会有所帮助