【发布时间】:2015-10-21 01:37:16
【问题描述】:
问题/错误:
我正在努力将一个变量从 doInBackground 方法传递到我的 OnCreate()。老实说,我不敢相信我有这么多问题。
目标:
将一个字符串从 doInBackground 中的 AsyncTask 方法传递给 OnCreate,我想将一个字符串传递给一个 Textview。并用字符串 setTextView。
我的理解:
我已经厌倦了在 doInBackground 和 AsyncTask 方法中创建简单的方法并在我的 onCreate() 中调用它。但是,变量始终为空。我相信我错过了理解 onCreate() 的一个方面。
主要活动:-我想在 textView 中设置变量“ValueNeeded”
public class OutboxActivity extends ListActivity {
….
…
public void onCreate(Bundle savedInstanceState) {
….
//AsyncTask method
new LoadOutbox().execute();
textView = (TextView) findViewById(R.id.textView6);
textView.setText("ValueNeeded);
Log.d("response", "TOUR NAME: " + ValueNeeded) );
…….
AsyncTask - 包含 doInBackground
class LoadOutbox extends AsyncTask<String, String, String>
{
/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
….
}
doInBackground - String ValueNeeded 是我需要传递给 onCreate() 的变量
protected String doInBackground(String... args)
{
..CODE THAT GETS VALUE IS IN HERE...
//ValueNeeded Is
ValueNeeded = c.getString(TAG_TOUR);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
【问题讨论】:
-
从 doInBackground 返回字符串并将其设置在 onPostExecute() 中。 onPostExecute() 是你绑定结果的地方。
标签: java android variables methods android-asynctask