如何从AsyncTask返回布尔值?我有一些编辑文本,用户输入一个ftp地址,用户名,密码,端口和测试连接按钮。如果成功地建立了一个连接,它将返回一个真的布尔值。boolean status = ftpConnect(_address, _username, _password,_port);
ftpDisconnect();
if (status == true) {
Toast.makeText(SiteManager.this, "Connection Succesful",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(SiteManager.this,
"Connection Failed:" + status, Toast.LENGTH_LONG).show();
}我正在重新编写代码以使用AsyncTask来执行各种ftp操作,但是如果成功地建立了连接,我如何返回一个布尔值呢?testConnection.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
_name = etSitename.getText().toString();
_address = etAddress.getText().toString();
_username = etUsername.getText().toString();
_password = etPassword.getText().toString();
_port = Integer.parseInt(etPort.getText().toString());
AsyncConnectTask task = new AsyncConnectTask(SiteManager.this,
_address, _username, _password, _port);
task.execute();
// boolean status = ftpConnect(_address, _username, _password,
// _port);
// ftpDisconnect();
// if (status == true) {
// Toast.makeText(SiteManager.this, "Connection Succesful",
// Toast.LENGTH_LONG).show();
// savesite.setVisibility(0);
// } else {
// Toast.makeText(SiteManager.this,
// "Connection Failed:" + status, Toast.LENGTH_LONG)
// .show();
// }
}
});
3 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
public class AsyncConnectTask extends AsyncTask<Void, Void, Boolean> {@Override protected Boolean doInBackground(Void... params) { .... return true; /* or false */}@Override protected void onPostExecute(Boolean result) { // result holds what you return from doInBackground }}
慕姐8265434
TA贡献1813条经验 获得超2个赞
public class AsyncConnectTask extends AsyncTask<Void, Void, Boolean>
@Overrideprotected Boolean doInBackground(Void... params) { boolean status = ftpHelper.ftpConnect(_address, _user, _pass, _port); return status;}@Overrideprotected void onPostExecute(Boolean result) { // use the result super.onPostExecute(result); progressDialog.dismiss();};
添加回答
举报
0/150
提交
取消