0

在我的 Android 应用程序中,用户首先登陆登录活动。我正在检查网络可用性。如果网络不可用,我想进一步停止切除。

是我们需要在代码级别上工作的东西,或者我们有一些可用的东西,比如activity.cancel()Activityreturn 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().

请注意,我不想销毁/关闭活动。该活动应该保持不变,以便用户可以继续尝试,可能在打开网络之后。

4

2 回答 2

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 );
.... .....
.... .....

希望对你有帮助!

于 2012-09-15T18:06:03.600 回答
0

我想你正在寻找的是

finish();

这将终止上下文中的活动。

于 2012-09-15T17:58:42.550 回答