导航抽屉中的备用选项,如果选择选项 A,选项 B 应显示在抽屉列表中,反之亦然
alternate option in navigation drawer, if option A is selected, option B should be displayed in drawer list and vice versa
我正在使用导航抽屉。导航抽屉包含 elements/items(例如:用户配置文件,Login/Logout)。
因此,当用户单击 Login/Logout 选项时,它会将用户导航到登录页面,用户将在该页面上通过 Google 帐户登录。因此,当用户登录应用程序时,选项应从登录更改为注销,当用户决定注销时,反之亦然。
此外,当用户首次访问应用程序时,该选项应显示为"Login"。它是怎么做到的?
因此,此时,即使用户未登录帐户,该选项卡也会显示 "login"。
代码:
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;
}
涉及到检查登录和退出状态的逻辑,将isLogin保存为静态全局变量。
例如创建一个class。将其称为 RunTimeData。
在 class 中声明一个布尔变量,如下所示。
public class RunTimeData{
public static boolean isLogin;
}
在您的 Login/Logout 逻辑中,按如下方式设置此变量值。
RunTimeData.isLogin=true; or RunTimeData.isLogin=false;
在 ChannelAppMenuAdapter class 的 getView() 方法中,您需要按如下方式检查此布尔值。
TextView textView=findViewById(...);
if(RunTimeData.isLogin){
textView.setText("Logout");
else
textView.setText("Login");
希望这对您有所帮助。
我正在使用导航抽屉。导航抽屉包含 elements/items(例如:用户配置文件,Login/Logout)。
因此,当用户单击 Login/Logout 选项时,它会将用户导航到登录页面,用户将在该页面上通过 Google 帐户登录。因此,当用户登录应用程序时,选项应从登录更改为注销,当用户决定注销时,反之亦然。
此外,当用户首次访问应用程序时,该选项应显示为"Login"。它是怎么做到的?
因此,此时,即使用户未登录帐户,该选项卡也会显示 "login"。
代码:
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;
}
涉及到检查登录和退出状态的逻辑,将isLogin保存为静态全局变量。
例如创建一个class。将其称为 RunTimeData。
在 class 中声明一个布尔变量,如下所示。
public class RunTimeData{
public static boolean isLogin;
}
在您的 Login/Logout 逻辑中,按如下方式设置此变量值。
RunTimeData.isLogin=true; or RunTimeData.isLogin=false;
在 ChannelAppMenuAdapter class 的 getView() 方法中,您需要按如下方式检查此布尔值。
TextView textView=findViewById(...);
if(RunTimeData.isLogin){
textView.setText("Logout");
else
textView.setText("Login");
希望这对您有所帮助。