在我的Android应用中,用户首先登陆登录活动。我正在检查网络可用性。如果网络不可用,我想进一步停止切除。
我们需要在代码级别上工作,或者我们在Activity上有activity.cancel()
或return null
可用的东西来处理下一个代码。请注意,我不想关闭活动。我只想提醒用户网络不可用。
以下是代码:
public void onClick(View v) {
if ( v.getId() == R.id.btnLogin ) {
if ( Utilities.isNetworkAvailable(this) ) {
mIsNetworkAvailable = true;
}
if ( mIsNetworkAvailable ) {
username = ((EditText) findViewById(R.id.username)).getText().toString().trim();
password = ((EditText) findViewById(R.id.password)).getText().toString().trim();
}
// If U/P is empty, do NOT process anything, just display the alert and stop.
if ( username.length() == 0 || password.length() == 0) {
Utilities.showAlert("Please enter username and password", this);
// HOW TO STOP THE EXECUTION HERE
} else if ( !mIsNetworkAvailable ) {
Utilities.showAlert("Internet connection is not availble in your device.", this);
// HOW TO STOP THE EXECUTION HERE
}
// If not any of the above, proceed.
User userobj = new User();
userobj.setUsername( username );
userobj.setPassword( password );
TaskHandler handler = new TaskHandler(getString(R.string.server_uri) + "Verify/", userobj, LoginActivity.this);
}
}
修改
以上代码位于onClick(登录按钮)。我想要实现的是,当用户点击“登录”按钮时,如果网络不可用,我需要显示警报并停止进一步的处理。如果成功,我需要打开下一个活动。
这是我们在其他地方所做的常规流程。我知道,我们可以在if-else块中包装整个代码。但我想知道,如果有办法通过像finish()
这样的调用来停止执行。
请注意,我不想销毁/关闭活动。活动应保持完整,以便用户可以继续尝试,可能是在打开网络后。
答案 0 :(得分:2)
试试这个。如果不满足约束,则返回。如下所示...
.... .....
.... .....
if ( username.length() == 0 || password.length() == 0) {
Utilities.showAlert("Please enter username and password", this);
return;
} else if ( !mIsNetworkAvailable ) {
Utilities.showAlert("Internet connection is not availble in your device.", this);
return;
}
User userobj = new User();
userobj.setUsername( username );
userobj.setPassword( password );
.... .....
.... .....
希望它可以帮到你!
答案 1 :(得分:0)
我认为你在寻找的是
finish();
将终止上下文中的活动。