2014-04-16 52 views
0
String[] a = new String[2]; 
String[] b = new String[2]; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_second); 
    new AsyncTaskClass().execute(); 
    // in here when i use a it gets me a but i write a = b in method(). 
} 

class AsyncTaskClass extends AsyncTask<String, String, String> { 

    @Override 
    protected void onPreExecute() { 
    } 
    @Override 
    protected String doInBackground(String... strings) { 
     method(); 
     return null; 
    } 

    @Override 
    protected void onPostExecute(String s) { 
    } 
} 

void method() { 
    a = b; 
} 

方法()正在我把吐司MESSG在裏面,我看到了mssg,但通過的方式不工作(A = B) 和b是我們稱之爲a = {「a」,「b」}; B = { 「C」, 「d」};當我使用[0]代碼讓我「一個」。爲什麼?這是在後臺線程正在執行我不能把我的價值的AsyncTask在Android

+0

對不起,但我不明白你的問題。 – eleven

+0

不要用一句話來寫所有的東西,這很難理解。 – Kunu

+0

我的工程不完美的,這是我最好的解釋 – mBogaz

回答

2

doInBackground的問題,所以一旦你打電話.execute(),執行將通過您:

//in here when i use a it gets me a but i write a = b in method(). 

行,而doInBackground肯定會尚未執行(但它可能),如果它取決於doInBackground結果,則應將所有處理移至onPostExecute。

+0

得益於它的意義 – mBogaz