2013-07-14 25 views
0

我有以下代碼:如何訪問另一個對象中的Andorid活動?

public class MainActivity extends SherlockFragmentActivity implements View.OnClickListener, FragmentA.SomeListener { 

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


     setContentView(R.layout.activity_main); 


     String helloWorld = getResources().getString(R.string.hello_world); 

     new YqlVplanParser(){ // A AsyncTask 
      @Override 
      protected void onPostExecute(String jsonString) { 
       JsonArray result = JsonArray.readFrom(jsonString); 
       result.toString(); 

       Toast toast = Toast.makeText(/*HERE I NEED THE ACTIVITY*/, "Nachricht", Toast.LENGTH_LONG); 
       toast.show(); 

      } 
     }.execute("query"); 
    } 
} 

所以normaly我會寫this其中/*HERE I NEED THE ACTIVITY*/看臺上,但我怎麼能現在訪問活動?這將引用我的AsyncTask。

回答

2

使用MainActivity.this來表示您希望this來自外部類。您正在創建一個匿名內部類(YqlVplanParser的子類),因此this是內部類的實例。

2

你可以訪問MainActivity`s背景是這樣的:

Toast toast = Toast.makeText(MainActivity.this, "Nachricht", Toast.LENGTH_LONG); 
toast.show();