Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 实现共享首选项时出现逻辑错误_Android - Fatal编程技术网

Android 实现共享首选项时出现逻辑错误

Android 实现共享首选项时出现逻辑错误,android,Android,我有一个活动叫做main,另一个是登录和设置。如果我登录,我会保存我的用户ID,并且从下一次应用程序从我的“主页活动”打开时开始。在“主页活动”中,我有一个名为“设置”的按钮。在“设置”中,有一个名为“注销”的按钮,按该按钮会让用户登录“活动”页面。但问题是,当我按“上一步”按钮时,应用程序应该已关闭所有设置我称之为system.exit1的活动将把我带到主活动 会话管理器 SigninoOut是我的注销按钮 设置 在“我的家庭活动”中,我尚未完成该活动,但我已在settings Intent.

我有一个活动叫做main,另一个是登录和设置。如果我登录,我会保存我的用户ID,并且从下一次应用程序从我的“主页活动”打开时开始。在“主页活动”中,我有一个名为“设置”的按钮。在“设置”中,有一个名为“注销”的按钮,按该按钮会让用户登录“活动”页面。但问题是,当我按“上一步”按钮时,应用程序应该已关闭所有设置我称之为system.exit1的活动将把我带到主活动

会话管理器 SigninoOut是我的注销按钮

设置 在“我的家庭活动”中,我尚未完成该活动,但我已在settings Intent.flag\u activity\u clear\u top中清除了以前的所有活动

   Intent i = new Intent(_context, SignInActivity.class);

    // Closing all the Activities
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    // Add new Flag to start new Activity
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    // Staring Login Activity
    _context.startActivity(i);

您应该取消对第二行和第三行的注释。

我实际上在我的设置中调用了它们。检查。@Orest为什么不添加FLAG\u ACTIVITY\u NEW\u TASK?尽管问题与@Orest相同,但我已经添加了它
    TextView forgetPassword,newAccount,guest;
    EditText emailEditText,passwordEditText;
    private Button signIn;



    private  int user_check=1;
    private Editor editor;
    SessionManager session;


    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        //requestWindowFeature(Window.FEATURE_NO_TITLE);

        setContentView(R.layout.activity_signin);

        session = new SessionManager(getApplicationContext());

        emailEditText=(EditText)this.findViewById(R.id.emailEditText);

        passwordEditText=(EditText)this.findViewById(R.id.passwordEditText);

        //forgetPassword= (TextView) findViewById(R.id.signup);
        newAccount= (TextView) findViewById(R.id.signup);

        signIn = (Button) findViewById(R.id.signInButton);
        guest=(TextView) findViewById(R.id.guest);

        newAccount.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i=new Intent(SignInActivity.this, SignUpActivity.class);
                startActivity(i);

            }
        });

        signIn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                SignInModel signInModel = new SignInModel();

                String email = emailEditText.getText().toString().trim();
                String password = passwordEditText.getText().toString().trim(); 


                if(FormHelper.isValidEmail(email) )
            {
                signInModel.setEmail(email);
                signInModel.setPassword(password);

                //Utility.showMessage(SignInActivity.this, signInModel.getEmail()+" "+signInModel.getPassword());

                if(haveNetworkConnection()==true)
                {

                new SignInTask(SignInActivity.this,signInModel).execute();

                }
                else
                {
                    Toast.makeText(SignInActivity.this, "Check Your Internet Connection", Toast.LENGTH_LONG).show();
                }

//              if(signInModel.getStatus()==true)
//              {
////                    Intent i=new Intent(SignInActivity.this, HomeActivity.class);
////                    i.putExtra("user_check",1 );
////                    startActivity(i);
//                  //finish();
//                  
//              }
//              else
//              {
//                  Toast.makeText(SignInActivity.this, "Enter valid email and password",Toast.LENGTH_LONG ).show();
//                  
//              }
//              
//              
//              //finish();
//              
            }
            else
                {
                    Toast.makeText(SignInActivity.this, "Enter  email and password",Toast.LENGTH_LONG ).show();
                }







            }
        });



        guest.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

//              editor.putInt(user_check, 0);
//              editor.apply();



                Intent i=new Intent(SignInActivity.this, HomeActivity.class);
                i.putExtra("user_check",0 );
                startActivity(i);
                finish();


            }
        });

    }



    public void signInDataLoaded(SignInModel signIn)
    {
        //Utility.showMessage(this, signIn.getStatus()+" "+signIn.getUserId());


        if(signIn.getStatus()==true)
        {
            //Utility.showMessage(this, "Login Successfull! User: "+signIn.getUserId());

            //SessionManager.getCurrrentSession().setCurrentUser(signIn.getUserId());  

//          Intent i=new Intent(SignInActivity.this, HomeActivity.class);
//          startActivity(i);
//          finish();
            session.createLoginSession(signIn.getUserId());

            Intent i=new Intent(SignInActivity.this, HomeActivity.class);
            i.putExtra("user_check",1 );
            startActivity(i);
            finish();
        }
        else
        {
            Toast.makeText(SignInActivity.this, "Enter valid email and password",Toast.LENGTH_LONG ).show();

        }



    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        //getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        return super.onOptionsItemSelected(item);
    }


    private boolean haveNetworkConnection() {
        boolean haveConnectedWifi = false;
        boolean haveConnectedMobile = false;

        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo[] netInfo = cm.getAllNetworkInfo();
        for (NetworkInfo ni : netInfo) {
            if (ni.getTypeName().equalsIgnoreCase("WIFI"))
                if (ni.isConnected())
                    haveConnectedWifi = true;
            if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
                if (ni.isConnected())
                    haveConnectedMobile = true;
        }
        return haveConnectedWifi || haveConnectedMobile;
    }


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) { //Back key pressed
           //Things to Do
            AlertDialog.Builder alertDialog = new AlertDialog.Builder(SignInActivity.this);

            // Setting Dialog Title
            alertDialog.setTitle("Confirm Exit...");

            // Setting Dialog Message
            alertDialog.setMessage("Are you sure you want to exit?");

            // Setting Icon to Dialog
            alertDialog.setIcon(drawable.cancel);

            // Setting Positive "Yes" Button
            alertDialog.setPositiveButton("YES", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int which) {

                // Write your code here to invoke YES event
               // Toast.makeText(getApplicationContext(), "You clicked on YES", Toast.LENGTH_SHORT).show();

                      System.exit(1);
                }
            });

            // Setting Negative "NO" Button
            alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                // Write your code here to invoke NO event
                //Toast.makeText(getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show();
                dialog.cancel();
                }
            });

            // Showing Alert Message
            alertDialog.show();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
signInOrOut.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                // SessionManager.getCurrrentSession().setCurrentUser(null);
                session.logoutUser();
                Intent i=new Intent(SettingsActivity.this, SignInActivity.class);
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                // Add new Flag to start new Activity
               i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(i);
                finish();
            }
        });
   Intent i = new Intent(_context, SignInActivity.class);

    // Closing all the Activities
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    // Add new Flag to start new Activity
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    // Staring Login Activity
    _context.startActivity(i);