簡體   English   中英

如何從 AsyncTask 類方法中獲取字符串到 MainActivity?

[英]How to fetch string from AsyncTask class method to MainActivity?

我有使用擴展AsyncTask的類在 php 頁面上獲取字符串的代碼。 現在我需要根據字符串值更改 UI 上的按鈕顏色。 但是我發現v無法在AsyncTask類中更改它,因此 v 需要再次將 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
}

異步任務有一個覆蓋方法,onPostexecute(),在這個函數中調用你的 mainActivity 函數並將字符串作為參數傳遞。

使用以下作為參考:

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

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM