java Android如何将GetText从onprexecute传递到onBackground
我有两个编辑文本字段,分别是email和name。当用户单击按钮时,我会在AsyncTaskonPreExecute()方法中获得这两个字段的值。我的问题是,现在如何将该值传递给doInBackground()方法,并将其插入字符串答案中?我学到了不应该将UI项传递到doInBackground()。我一直在这里搜索并测试代码的不同变体,但不断得到空值
private class myprofile extends AsyncTask<String,Void,Boolean> {
@Override
protected void onPreExecute() {
super.onPreExecute();
Email= (EditText)findViewById(R.id.email);
String email= Email.getText().toString();
Name= (EditText)findViewById(R.id.name);
String name= Name.getText().toString();
}
@Override
protected Boolean doInBackground(String... params) {
String email = params[0];
String name = params[1];
String Answers="email="+email+"&name="+name;
return null;
}
// @Override
protected void onPostExecute(Boolean result) {
}
}
# 1 楼答案
有很多方法可以做到这一点。看起来你已经准备好将它们传递到
execute()
1)传入
AsyncTask.execute()
2)传递给构造函数
3)在
onPreExecute()
中检索