【问题标题】:alternate option in navigation drawer, if option A is selected, option B should be displayed in drawer list and vice versa导航抽屉中的备用选项,如果选择了选项 A,则选项 B 应显示在抽屉列表中,反之亦然
【发布时间】:2015-01-08 10:12:09
【问题描述】:

我正在使用导航抽屉。导航抽屉中包含元素/项目(如:用户配置文件、登录/注销)。

因此,当用户点击登录/注销选项时,它会将用户导航到登录页面,用户将通过 Google 帐户登录。因此,当用户登录到应用程序时,选项应该从登录更改为注销,当用户决定注销时,反之亦然。

此外,当用户首次访问应用程序时,该选项应显示为“登录”。怎么可能做到?

因此,即使用户未登录帐户,该选项卡也会显示“登录”。

代码:

public void initializeMenu() {
    ChannelAppMenuAdapter mAdapter = new ChannelAppMenuAdapter(this);

    // Profile
    mAdapter.addHeader("Account");
    //Case 2:
    /*DAPO:DEV02-20150106: Condition to check if user is login, user is login, title will display LogOut, else
     * will display "Login"*
     */
    if (isLogin==true)
        title = "logout";
    else
        title="login";
    icon = R.drawable.google_icon;
    mAdapter.addItem(title, icon);
}

@Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {

        switch (position) {
        case 2:
            //DEV02-20141231: alternation of login/logout options, login to change to logout when user is login and vice versa
            Intent intent = new Intent(getApplicationContext(),
                    ChannelAppLoginInfoMainActivity.class);
            startActivity(intent);
            break;
}

【问题讨论】:

    标签: android login navigation-drawer slidingdrawer


    【解决方案1】:

    涉及检查登录和注销状态的逻辑,将isLogin保存为静态全局变量。

    例如创建一个类。将其称为 RunTimeData。

    在该类中声明一个布尔变量,如下所示。

    public class RunTimeData{
        public static boolean isLogin;
    }
    

    在您的登录/注销逻辑中,将此变量值设置如下。

    RunTimeData.isLogin=true; or RunTimeData.isLogin=false;
    

    ChannelAppMenuAdapter 类的 getView() 方法中,您需要检查此布尔值,如下所示。

    TextView textView=findViewById(...);
    if(RunTimeData.isLogin){
        textView.setText("Logout");
    else
        textView.setText("Login");
    

    希望这会有所帮助。

    【讨论】:

    • 尽量多赢得一些声誉并点赞 :) 祝你好运 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多