2017-01-01 7 views
0

MyContent.classクラスを他のプロジェクト(ライブラリなど)で使用したいのですが、作成時にコードを渡すのはonChangeの内部で使用されますか?別のクラスのメソッドをオーバーライド

MyContent.class

public class MyContent extends ContentObserver { 

    @Override 
    public void onChange(boolean selfChange, Uri uri) { 
    } 
} 

Main.class

public class Main extends AsyncTask { 
     MyContent myContent= new MyContent(new Handler()); 

     @Override 
     public void myContent.onChange(boolean selfChange, Uri uri) { 
     //posibility to use the uri parameter 
     Log.d("d", "onChange fired"); 
     } 
    } 

出力: のOnChangeは発射*

+0

はより明確にし、正確にあなたが「}、{」私はそれは外のonChange作るためにかのうだ私の答え – Aaron

+0

を何を求めていますか?通常のメソッドのように –

答えて

3

あなたはMyContentとオーバーライドから継承anonymous classを作成することができます方法:

public class Main extends AsyncTask { 
    MyContent myContent = new MyContent(new Handler()) { 
     @Override 
     public void onChange(boolean selfChange, Uri uri) { 
      //posibility to use the uri parameter 
      Log.d("d", "onChange fired"); 
     } 
    }; 
} 
+0

を更新 –

+0

@ richard1994xいいえ。オブジェクト作成時にメソッドをオーバーライドする唯一の方法は、この構文が必要な匿名クラスを使用することです。 – 4castle

+0

そして、次のようなものがあります。 @Override public void onChange(boolean selfChange、Uri uri){ myMethod(); } MyMethodは(){ //このメソッドrichard1994x @ } –

関連する問題