2013-07-19 4 views
-8

Моя проблема в том, что я использую более одного оператора в if condtion как (pro.getSelectedItemPosition()!=0 && allmemb.getSelectedItemPosition()!=0), он проверяется, но если я использую один оператор, такой как (pro.getSelectedItemPosition()!=0), условие не проверяется.if-else if инструкция не работает должным образом в android

String where = null; 

    if(pro.getSelectedItemPosition()!=0 && allmemb.getSelectedItemPosition()!=0) 
    { 
     where="PROJECT='"+pro.getSelectedItemPosition()+"' and ASSIGNED_BY='"+allmemb.getSelectedItemPosition()+"'"; 
    } 

    else if(pro.getSelectedItemPosition()!=0 && allmod.getSelectedItemPosition()!=0) 
    { 
     where="PROJECT='"+pro.getSelectedItemPosition()+"' and MODULE='"+allmod.getSelectedItem()+"'"; 
    } 
    else if(pro.getSelectedItemPosition()!=0 && allprio.getSelectedItemPosition()!=0) 
    { 
     where="PROJECT='"+pro.getSelectedItemPosition()+"' and PRIORITY='"+allprio.getSelectedItem()+"'"; 
    } 

    else if(pro.getSelectedItemPosition()!=0 && date.getTextSize()!=0) 
    { 
     where="PROJECT='"+pro.getSelectedItemPosition()+"' and T_DATE='"+date.getText().toString()+"'"; 
    } 
    else if(allmemb.getSelectedItemPosition()!=0 && allmod.getSelectedItemPosition()!=0) 
    { 
     where="ASSIGNED_BY='"+allmemb.getSelectedItemPosition()+"' and MODULE='"+allmod.getSelectedItem()+"'"; 
    } 
    else if(allmemb.getSelectedItemPosition()!=0 && allprio.getSelectedItemPosition()!=0) 
    { 
     where="ASSIGNED_BY='"+allmemb.getSelectedItemPosition()+"' and PRIORITY='"+allprio.getSelectedItem()+"'"; 
    } 
    else if(allmemb.getSelectedItemPosition()!=0 && date.getTextSize()!=0) 
    { 
     where="ASSIGNED_BY='"+allmemb.getSelectedItemPosition()+"' and T_DATE='"+date.getText().toString()+"'"; 
    } 
    else if(allmod.getSelectedItemPosition()!=0 && allprio.getSelectedItemPosition()!=0) 
    { 
     where="MODULE='"+allmod.getSelectedItem()+"' and PRIORITY='"+allprio.getSelectedItem()+"'"; 
    } 
    else if(allmod.getSelectedItemPosition()!=0 && date.getTextSize()!=0) 
    { 
     where="MODULE='"+allmod.getSelectedItem()+"' and T_DATE='"+date.getText().toString()+"'"; 
    } 
    else if(allprio.getSelectedItemPosition()!=0 && date.getTextSize()!=0) 
    { 
     where="PRIORITY='"+allprio.getSelectedItem()+"' and T_DATE='"+date.getText().toString()+"'"; 
    } 
    else if(date.getTextSize()!=0 && date1.getTextSize()!=0) 
    { 
     where="T_DATE between '"+date.getText().toString()+"' and '"+date1.getText().toString()+"'"; 

    } 
    else if(date.getTextSize()!=0) 
    { 

     where="T_DATE='"+date.getText().toString()+"'"; 
    } 
    else if(pro.getSelectedItemPosition()==0 && allmemb.getSelectedItemPosition()==0 && allmod.getSelectedItemPosition()==0 && 
      allprio.getSelectedItemPosition()==0 && date.getTextSize()==0 && date1.getTextSize()==0) 
    { 
     //Intent in=new Intent(getApplicationContext(),login.class); 
     //startActivity(in); 
     where="PROJECT='"+pro.getSelectedItemPosition()+"' and ASSIGNED_BY='"+allmemb.getSelectedItemPosition()+"' and MODULE='"+ 
     allmod.getSelectedItem()+"' and PRIORITY='"+allprio.getSelectedItem()+"' and T_DATE='"+date.getText().toString()+"'"; 
    }  
    else if(pro.getSelectedItemPosition()>0) 
    { 
     where="PROJECT='"+pro.getSelectedItemPosition()+"'"; 
    } 

    else if(allmemb.getSelectedItemPosition()!=0) 
    { 
     where="ASSIGNED_BY='"+allmemb.getSelectedItemPosition()+"'"; 
    } 
    else if(allmod.getSelectedItemPosition()!=0) 
    { 
     where="MODULE='"+allmod.getSelectedItem()+"'"; 
    }  

    else if(allprio.getSelectedItemPosition()!=0) 
    { 
     where="PRIORITY='"+allprio.getSelectedItem()+"'"; 
    } 

    else 
    { 
     //Toast.makeText(admin.this, "No Tasks to displays..... ", Toast.LENGTH_SHORT).show(); 
    } 

    Cursor cr6=sdb.query("TASK_DETAILS", new String[]{"USERID","ASSIGNED_BY","PROJECT","MODULE","PRIORITY","T_DATE","T_DESC","REMARKS"}, 
       where,null,null,null,null); 
+4

Что вы хотите от этого сделать? Что это на самом деле. «Не работает» ужасно неопределенно – doctorlove

+0

Я думаю, что вы не делали домашнее задание :) –

+0

Зачем вам это нужно? Это ужасно, согласен с Таруном! – Shraddha

ответ

0

Если одно из утверждений & & является ложным, оно не проверяет другое условие, потому что для ложного состояния достаточно одного значения false.

1

Но точка останова перед запуском 1-го, если-else, отлаживать его. Может быть, это не происходит внутри if-else из-за отказа условия.