2016-09-27 75 views
-2

我有代碼,在php頁面上使用延伸AsyncTask的類獲取字符串。現在我需要根據字符串值更改UI上的按鈕顏色。但我發現v不能在AsyncTask類中更改它,因此需要將resultString再次傳遞給主線程。我應該怎麼做? 這裏是我的代碼:如何從AsyncTask類方法向MainActivity獲取字符串?

MainActivityClass 
{ 
    //button color changes acc to php page string 
} 

AsyncTaskClass 
{ 
    String result=fetch string data from php using doInBackground method; 
    //cant change button color here need to pass result to main activity 
} 
+1

創建一個全局變量! –

回答

0
Class A{ 
    private MyListener ml; 
    doInBackground(){ 
     //string your_string = GetFromWeb(); 
     //passString(your_string); 

    } 
    public void setMyCustomListener(MyListener l){ 
     ml = l; 
    } 
    public interface MyListener{ 
     public void passString(String s); 
    } 
} 

Class B implements MyListener { 

    @Override 
    public void passString(String s){ 
     //Do your thing here 
    } 
} 
+0

創建一個全局變量:/真的嗎? v在這裏有2個不同的類我怎麼能發送全局變量的值從1類到另一個?????? :? –

+0

我在這裏給你的建議是,你可以使用一個自定義接口,其中需要更新活動或你的活動的UI的類應該實現 –