0

クラスから関数を継承しようとしています。これには、PhoneStateListener の登録が含まれます。以下は、Main.java で継承しようとしている関数です。

    public Main(Context context) {
    this.mContext = context;
}

    @Override
protected void onCreate(Bundle savedInstanceState) {
        ...
     registerPhoneStateListener();
     }

public void registerPhoneStateListener() {
 myPhoneStateListener = new MyPhoneStateListener();
 telephonyManager = (TelephonyManager) mContext
            .getSystemService(Context.TELEPHONY_SERVICE);
 telephonyManager.listen(myPhoneStateListener,
            PhoneStateListener.LISTEN_CALL_STATE);
     }

myPhoneStateListener は Main.java のパブリック クラスです。

    public class MyPhoneStateListener extends PhoneStateListener {...}

これが私の別のクラスのコーディングです。

Main main =new Main(this);
main.registerPhoneStateListener();

PhoneStateListener は Main.java では正常に動作しますが、別のクラスでは動作しません。助けてください、ありがとう!

4

1 に答える 1

0

私の意見では、違いがあります。アクティビティを実行すると、SO はアクティビティを適切に機能させるために適切なものをセットアップします。new を使用してアクティビティを作成する場合、それは同じことではありません。

于 2013-04-18T15:27:56.320 に答える