1

基本的に、別のクラスの doInBackground で割り当てられた変数にアクセスしたいのですが、ここでこれを行う方法がわかりません。以下は、関連するクラス構造です。これは、Android アプリケーション用です。ありがとう。

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

public String doInBackground(String... args) {


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

1 に答える 1

1

publishProgress() と onProgressUpdate() を使用して intrim データにアクセスできます

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 に答える