0
클래스에서 함수를 상속하려고합니다. 여기에는 PhoneStateListener 등록이 포함됩니다. 다음은 Main.java에서 상속을 시도하는 함수입니다.다른 클래스에서 상속 한 경우 PhoneStateListener가 작동하지 않습니다.
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에서 정상적으로 작동하지만 다른 클래스에서는 작동하지 않습니다. 도와주세요, 고마워요!
다른 클래스의 PhoneStateListener를 상속하는 것이 불가능하다는 것을 의미합니까? – user2051823
정말 다른 클래스에서 상속해야하는 경우 클래스 다이어그램을 재고해야한다고 생각합니다. 나는 당신이하고있는 것처럼 다른 수업에서 청취자를 시작하려고 시도한 적이 없지만, 내 생각에 당신이 직접 활동을 인스턴스화 할 때 그것은 매우 다릅니다. – FrancescoAzzola