-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

あなたはアンドロイドの概念をまったく理解していません。

一度に表示できるアクティビティは常に 1 つだけです。

したがって、コードは機能しません。new Activity_X(); を呼び出してアクティビティをインスタンス化することはできません。

Android OS はアクティビティを開始/インスタンス化する責任があり、アクティビティにはライフサイクル (onCreate()、onResume()、onPause()、onDestroy()) がありますが、前述のようにアクティビティを直接インスタンス化することはできません。 、通常、画面上にアクティブなアクティビティは 1 つだけです (2 つのアクティビティを同時にアクティブにできる唯一の方法は、通常のアクティビティの上に背景が透明なアクティビティがある場合です)。

それを読んでください: Androidの始め方

于 2013-07-04T08:39:25.570 に答える
0

アクティビティ間の通信には、Intentを使用する必要があります。

「情報」を共有する別の方法は、アクティビティでスレッドを使用してメッセージを送信することです。次を参照してください:ハンドラー

これが役立つことを願っています

于 2013-07-04T08:48:22.403 に答える