我有使用扩展AsyncTask
的类在php页面上获取字符串的代码。现在我需要根据字符串值更改UI上的按钮颜色。但我发现v
无法在AsyncTask
类中更改它,因此需要再次将resultString传递给主线程。我该怎么做?
这是我的代码:
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
}
答案 0 :(得分:0)
异步任务有一个覆盖方法onPostexecute(),在这个函数中调用你的mainActivity函数并将字符串作为参数传递。
使用以下作为参考:
https://developer.android.com/reference/android/os/AsyncTask.html
答案 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
}
}