2016-06-29 5 views
0

からメソッドを呼び出して、私はこのAndroidは:私は別のクラスから、AsyncTaskからgetHoroscope(と呼ばれるメソッド)を呼び出したいAsyncTask

String sentence, signo="geminis"; 
sentence = new ExtendedActivity.Parse().getHoroscope("daily",signo); 

をしようとしているしかし、私はエラー「ExtendedActivity is not an enclosing class」を取得します。 私を助けることができますか?

マイExtendedActivity:

public class ExtendedActivity extends BaseActivity { 
(...) 
public class Parse extends AsyncTask<String, Void, String> { 

     private final ProgressDialog dialog = new ProgressDialog(ExtendedActivity.this); 


     @Override 
     public String doInBackground(String... params) { 

      String option, type, dat, site="", description="", s="";; 

      //get the user option 
      Bundle extras = getIntent().getExtras(); 
      option = extras.getString("OPTION"); 
      type = extras.getString("TYPE"); 

      description = getHoroscope(type, option); 

      return description; 
     } 


     public String getHoroscope(String type, String option){ 
      String description="", site; 
      (...) 
     } 
    } 
+0

ExtendedActivityのオブジェクトを作成し、Parse()クラスのメソッドに静的にアクセスしようとしています。 ParseとgetHoroscopeを静的宣言するか、Parseオブジェクトを作成する –

+0

[クラスを囲んでいないJava](http://stackoverflow.com/questions/20252727/is-not-an-enclosing-class-java) –

+0

ここで 'AsyncTask.execute'を呼び出していますか? –

答えて

0

あなたCANDそれO:

new ExtendedActivity().new Parse().getHoroscope();

か:そのような

public class ExtendedActivity { 
    public static class Parse extends AsyncTask<String, Void, String> { 

     @Override 
     public String doInBackground(String... params) { 

      String description = ""; 

      description = getHoroscope(); 

      return description; 
     } 


     public static String getHoroscope() { 
      return null; 
     } 
    } 
} 

とそれを呼び出す:new ExtendedActivity.Parse().getHoroscope();

関連する問題