2016-09-27 11 views
-2

私は、AsyncTaskを拡張するクラスを使用してPHPページ上の文字列を取得するコードを持っています。文字列の値に応じてUIのボタンの色を変更する必要があります。しかし、私はvAsyncTaskクラスでそれを変更できないことを発見したので、再度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を更新する必要のあるクラスまたはアクティビティを実装する必要があるカスタムインターフェイスを使用できることをお伝えします –

関連する問題