gpt4 book ai didi

java - 将数据设置为全局变量

转载 作者:行者123 更新时间:2023-12-01 04:34:15 24 4
gpt4 key购买 nike

我目前正在使用 Koush/ion - https://github.com/koush/ion我的应用程序的库。

我设置了一个全局变量公共(public)静态字符串内容;

并在 AsyncTask 中使用此方法

Ion.with(MainActivity.this, "http://google.com").asString().setCallback(new FutureCallback<String>() {

@Override

public void onCompleted(Exception e, String result) {


MainActivity.content = result.toString();

}
});

但是,当我尝试从 AsyncTask 访问变量内容时,我意识到它是空的。我已经设置了一个全局变量并为其设置了数据。有什么问题吗?

编辑:完整脚本

package dev.tst.app

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;

import com.koushikdutta.async.future.FutureCallback;
import com.koushikdutta.ion.Ion;

public class MainActivity extends Activity {
public static volatile String content;
TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tv);
new LongOperation().execute();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

private class LongOperation extends AsyncTask<String, Void, String> {

@Override
protected String doInBackground(String... params) {
Ion.with(MainActivity.this, "http://google.com").asString()
.setCallback(new FutureCallback<String>() {
@Override
public void onCompleted(Exception e, String result) {
MainActivity.content = result.toString();
Log.e("Count", content.length() + ".");
}
});
return null;
}

@Override
protected void onPostExecute(String result) {
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(MainActivity.this, MainActivity.content,
Toast.LENGTH_SHORT).show();
}
});
}
}
}

最佳答案

尝试使变量为 volatile :

public static volatile String content;

关于java - 将数据设置为全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17561906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com