如何从AsyncTask类方法获取字符串到MainActivity?

时间:2016-09-27 15:47:59

标签: java android

我有使用扩展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
}

2 个答案:

答案 0 :(得分:0)

异步任务有一个覆盖方法onPostexecute(),在这个函数中调用你的mainActivity函数并将字符串作为参数传递。

使用以下作为参考:

https://developer.android.com/reference/android/os/AsyncTask.html

https://stackoverflow.com/a/9671602/2487029

答案 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
    }
}