1

基本上我想访问在不同类的 doInBackground 中分配的变量,但我不知道如何在这里执行此操作。以下是我的相关班级结构。这是一个安卓应用程序。谢谢。

public class CreateNewPlayers extends AsyncTask<String, String, String> {

public String doInBackground(String... args) {


                String playerid = playerid1.getText().toString();
4

1 回答 1

1

您可以使用 publishProgress() 和 onProgressUpdate() 访问内部数据

public class CreateNewPlayers extends AsyncTask<String, String, String> {
    public SomeOtherClass soc = null;

@Override
public String doInBackground(String... args) {


                String playerid = playerid1.getText().toString();
                publishProgress(playerid);

@Override
public String onProgressUpdate(String... args) {
    super.onProgressUpdate(args);
    soc.setPlayerID(args[0]);
    soc.DoSomething();
}

编辑 更完整

public class SomeOtherClass {
    protected String thisPlayerID = null;

    public setPlayerID (String pid) {
        thisPlayerID = pid;
    }

    public DoSomthing () {
        // act on data
    }
}

public class mainActivity extend Activity {
    public CreateNewPlayers cnp = new CreateNewPlayers();
    public SomeOtherClass soc = new SomeOtherClass();

    @Override
    protected void onCreate(Bundle data) {
        super.onCreate(data);
        cnp.soc = soc;
        cnp.exectue("")
    }    
}
于 2013-04-29T01:27:07.387 回答