java - 如何捕获给定的用户 ID 以在登录中显示不同的 Activity?

标签 java android

使用此登录表单,具有 (ID: 001) 的管理员应该获得“AdminActivity”,而其他每个用户 ID 都应该获得“UserActivity”,这就是代码。由于某种原因,它没有返回 adminID。谢谢

btnLogin.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {

                UserFunctions userFunction = new UserFunctions();   

                String id = inputId.getText().toString();
                String pswd = inputPassword.getText().toString();

                JSONObject json = userFunction.loginUser(id, pswd);             

                try {
                    if (json.getString(KEY_SUCCESS) != null) {
                        loginErrorMsg.setText("");

                        String res = json.getString(KEY_SUCCESS); 

                        if(Integer.parseInt(res) == 1){

                            DatabaseHandler db = new DatabaseHandler(getApplicationContext());

                            JSONObject json_user = json.getJSONObject("user");                          

                            if(id == "001"){
                                // Launch Admin Activity
                                Intent tab1 = new Intent(getApplicationContext(), AdminActivity.class);                     
                                    // Close all views before launching requestActivity
                                tab1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                startActivity(tab1);
                            }

                            // Clear all previous data in database
                            userFunction.logoutUser(getApplicationContext());

                            db.addUser(json_user.getString(KEY_ID), 
                                       json_user.getString(KEY_NAME), 
                                       json_user.getString(KEY_EMAIL),                                     
                                       json_user.getString(KEY_CREATED_AT));                            

                                // Launch User Activity
                            Intent tab = new Intent(getApplicationContext(), UserActivity.class);                       
                                // Close all views before launching requestActivity
                            tab.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                            startActivity(tab);


                        }else{

                            loginErrorMsg.setText("Incorrect username/password");
                        }
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        });  

最佳答案

    if("001".equals(id)){
                            // Launch Admin Activity
                            Intent tab1 = new Intent(getApplicationContext(), AdminActivity.class);                     
                                // Close all views before launching requestActivity
                            tab1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                            startActivity(tab1);
                            return;
                        }

关于java - 如何捕获给定的用户 ID 以在登录中显示不同的 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13115099/

相关文章:

java - 如何在java中使用log4j创建附加日期和时间的日志文件?

java - JasperPrint 在 Mac 上打开一个危险的托盘图标,可能会杀死 Tomcat

java - Eclipse 不再在快速修复中提出导入建议

java - Android 内存不足错误

Java:公共(public)静态 newInstance()

Java如何创建包含元素 "TIMESTAMP(6)"的枚举

java - M3 : how to identify syntax errors in Java projects

android - RecyclerView 添加新项目时滚动返回到列表顶部

android - 如何从捏合中心缩放列表项

android - 无法在布局中正确获取 Textviews