mAdapter.setOnTreeNodeClickListener(new TreeListViewAdapter.OnTreeNodeClickListener()
{
@Override
public void onClick(Node node, int position) {
if (node.isLeaf()) { //这里node.isleaf()为false 为什么还执行进去而且else都不执行
LogUtil.LogPrint("login", "第一次if0" + node.isleaf());
sonAttrabuite = node.getAttributespath();
LogUtil.LogPrint("login", "" + node.isleaf());
handler.sendEmptyMessage(HandlerOrder.Three_son);
} else {
LogUtil.LogPrint("login", "第一次else0" + node.isleaf());
if (MainActivity.ifPage == 1) {
MainActivity.attributespath = node.getAttributespath();
MainActivity.attributespath_Warni = (String) SPUtils.get(ctx, "attributesPath", "");
MainActivity.atrributepathName = node.getName();
} else if (MainActivity.ifPage == 2) {
MainActivity.attributespath_Car = node.getAttributespath();
MainActivity.attributespath_Warni = (String) SPUtils.get(ctx, "attributesPath", "");
MainActivity.atrributepathName_Car = node.getName();
} else if (MainActivity.ifPage == 3) {
MainActivity.attributespath_Warni = node.getAttributespath();
MainActivity.atrributepathName_Warni = node.getName();
}
TreeActivity.this.finish();
}
} });
} catch (IllegalAccessException e) {
e.printStackTrace();
}
楼主,我觉得这种可能性不高,可能是你的编译文件不对,程序执行的和你最新的代码不一样,建议重新编译一下
java if else 判断boolean类型不管true还是false执行只执行if
这种问题是违反 if 结构的
应该是你判断条件错误
或根本就没有判断
if (node.isLeaf()) { //这里node.isleaf()为false 为什么还执行进去而且else都不执行
你判断一下是不是真的为node.isleaf() == false ,
这意思是node.isleaf() 个值是永真的,改变并没有对其产生影响
你应该重点发展这里
不然你可以试试,直接把 node.isleaf() 换成 true ,在换成 false 肯定执行结果不同
if (true)
if (false)
首先建议你在后台输出一下node.isLeaf() 的值,看是否为true或false;可能是代码的结构哪里出了问题,导致这里方法返回的结果出问题。
建议你把这个方法的代码也贴一下出来,便于分析。
楼主,你这if else外面还有两层域,确定是否进到if else这一层了,如果进到if else这一层,就看日志,确定是进if还是进else,如果node.isleaf()为false还进到if里面,说明编译有问题重新编译部署测试。跟踪日志就行。if else没有问题的
现在不管是true还是false都只执行else方法了,真的这个逻辑都没错啊,为什么会这样。
node.isLeaf()这个是获取的一个值而已,我每次都打印出来了,不管node.isleaf()=true或者node.isleaf()=false都只执行if的方法。真的头痛,各位请指教啊。
劝你进入main方法测试这node.isLeaf()是否有值 ,返回值是否布尔值
用debug模式跟一下,或者直接打印你想看的值
不存在这种神秘事件,还是好好debug看看
删除class文件,重新编译
建议重新编译..eclipse建议clean下....有可能是缓存
那这个判断完全没必要存在了,还判断干什么,反正必然会if