我的Android应用程序正在使用webView加载网站的移动版本。目前我已启用cookie和javascript等等。由于登录发生在网站而不是应用程序客户端,我使用名为androidlogin
的cookie来查看他们是否已登录。
如果cookie在那里,他们必须登录,如果不是,他们没有登录。我遇到的问题是他们登录时我想在我的导航抽屉上显示一个注销按钮
以下是Cookie的代码:
...
public String cookie = CookieManager.getInstance().getCookie("site.com");
protected void onCreate(Bundle savedInstanceState) {
...
CookieManager.getInstance().setAcceptCookie(true);
...
}
private void addDrawerItems() {
if(cookie.contains("androidlogin")) {
String[] osArray = { "item 1", "item 2", "Logout" };
} else {
String[] osArray = { "item 1", "item 2" };
}
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, osArray);
...
}
这是错误
Error:(76, 88) error: cannot find symbol variable osArray
所以我的cookie变量已设置,我可以将它打印到日志中,它确实显示cookie在那里,但是如何根据cookie所说的更改抽屉中发生的变化?从PHP切换到java一直是个问题,至少可以说lol。
由于
答案 0 :(得分:2)
您在osArray
内声明if/else
,因此在您尝试使用它之外无法访问它。试试这个:
private void addDrawerItems() {
final String[] osArray;
if(cookie.contains("androidlogin")) {
osArray = new String[]{ "item 1", "item 2", "Logout" };
} else {
osArray = new String[]{ "item 1", "item 2" };
}
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, osArray);
...
}