【发布时间】:2014-06-24 16:48:08
【问题描述】:
我正在尝试等待后台进程完成,然后在完成后相应地做一些事情。
基本上我有一个类TwitterActivity 和一个内部类CheckInternetConnection,它扩展了AsyncTask。我还有一个按钮mSignin,我为它设置了事件处理。另外我还有一个布尔值hasInternet。
我的目标是当按下mSignin 按钮时,我将调用CheckInternetConnection。这应该更新我的布尔值hasInternet。然后相应地我希望做一些事情。
但我想在onClick()方法里面做。
有什么方法可以实现吗?谢谢。
public class TwitterActivity extends Activity
{
private boolean hasInternet = false;
private Button mSignin;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_twitter);
mSignin = (Button)findViewById(R.id.login_id);
mSignin.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
new CheckInternetConnection().execute();
if(hasInternet)
//do some stuff
else
//do some other stuff
}
});
}
class CheckInternetConnection extends AsyncTask<Void, Void, Boolean>{
@Override
protected void onPostExecute(Boolean result){
if(result)
hasInternet = true;
else
hasInternet = false;
}
@Override
protected Boolean doInBackground(Void... params) {
return true;
}
}
}
【问题讨论】: