So aktualisieren Sie den text in der Benutzeroberfläche von der hintergrund-thread in Android

In meiner Anwendung brauche ich zum aktualisieren der text in der Benutzeroberfläche je nach Daten aus dem Netzwerk.Dafür bin ich mit einem AsyncTask Arbeit tun, im hintergrund in Android. Mein code ist wie folgt.

public class DefaultActivity extends Activity{

  TextView textView;
  public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    textView=(TextView)findViewById(R.id.textId);
    new networkFileAccess().execute("background","Progress","result");
  }

  private class networkFileAccess extends AsyncTask<String,String,String>{

    protected String doInBackground(String... background){
       return changeText();
    }

    private String changeText(){
     //Code to Access data from the Network.
     //Parsing the data.
     //Retrieving the boolean Value.
     if(booleanistrue){
      //Displaying some text on the UI.
      publishProgress("someTextOnUI");
      //Send request till we get get boolean value as false.
      changeText();
     }else{
       return "success";
     }
      return "";
    }

    protected void onProgressUpdate(String... progress){
      textView.setText("Wait background work is going on");
    }

    protected void onPostExecute(String result){
      if(result.equals("success")){
       //Code to finish the activity.
      }
    }
  }

}

In den obigen code, ich bin in der Lage zu führen Sie die hintergrund-thread, bis ich das bekomme booleschen Wert false.Der text ist jedoch nicht auf die Aktualisierung der Benutzeroberfläche. Kann ich ein update der text auf der Benutzeroberfläche mithilfe onProgressUpdate () - Methode durch Aufruf publishProgress Methode.?Alle suggesstions.

InformationsquelleAutor user1195614 | 2012-05-04
Schreibe einen Kommentar