片段中的错误有2个微调器和复选框

时间:2016-02-13 23:38:19

标签: android checkbox spinner

当我运行我的项目时,我得到一个bug java.lang.NullPointerException:尝试在空对象引用上调用虚方法'android.view.View android.app.Activity.findViewById(int)' 我试图使2个微调器与片段中的一些复选框一起工作

那是我的代码:

public class FeesFragment extends Fragment implements AdapterView.OnItemSelectedListener {
public static final String TAG = "fees";


//Courses Total
int A; int B; int C; int D; int E; int F; int G; int H; int I; int J; int K; int L; int M; int N; int O; int P; int Q; int DR; int S;
int T; int U; int V; int W; int X; int Y; int Z; int AB; int AC; int AD; int AE; int AF; int AG; int AH; int AI; int AJ; int AK; int AL; int AM; int AN;
int AO; int AP; int AQ; int AS; int AT; int AU; int AV; int AW; int AX; int AY; int AZ;

//General Initialization

int Result = 1000 + A + B + C + D + E + F + G + H + I + J + K + L + M + N + O + P + Q + DR + S + T + U + V + W + X + Y + Z + AB + AC + AD + AE + AF + AG + AH + AI + AJ + AK + AL + AM + AN + AO + AP + AQ + AS + AT + AU + AV + AW + AX + AY + AZ;

final TextView result = (TextView) getActivity().findViewById(R.id.result);
final Button calculate = (Button) getActivity().findViewById(R.id.Button);


//LevelSpinner Items
private static final int class1 = 0;
private static final int class2 = 1;
private static final int class3 = 2;
private static final int class4 = 3;

int CreditHour;
int Book = 400;

//SemesterSpinner Items
private static final int Fall = 0;
private static final int Spring = 1;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_fees, container, false);
}



//LinearLayouts Initialization
LinearLayout semester1 = (LinearLayout) getActivity().findViewById(R.id.semester1);
LinearLayout semester2 = (LinearLayout) getActivity().findViewById(R.id.semester2);




@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    // Spinner element
    Spinner LevelSpinner = (Spinner) getActivity().findViewById(R.id.levelspinner);
    Spinner SemesterSpinner = (Spinner) getActivity().findViewById(R.id.semesterspinner);
    // Spinner click listener
    LevelSpinner.setOnItemSelectedListener(this);
    SemesterSpinner.setOnItemSelectedListener(this);

    // Spinner Drop down elements
    List<String> levels = new ArrayList<String>();
    levels.add("2012-2016");
    levels.add("2013-2017");
    levels.add("2014-2018");
    levels.add("2015-2019");

    List<String> semesters = new ArrayList<String>();
    semesters.add("Fall");
    semesters.add("Spring");

    // Creating adapter for spinner
    ArrayAdapter<String> levelsAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, levels);
    ArrayAdapter<String> semesterAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, levels);

    // Drop down layout style - list view with radio button
    levelsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    semesterAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapter to spinner
    LevelSpinner.setAdapter(levelsAdapter);
    SemesterSpinner.setAdapter((SpinnerAdapter) SemesterSpinner);

    //Button OnClickListener
    calculate.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            result.setText(Result);
        }
    });

}

    // CheckBox Functionality
public void onCheckboxClicked(View view) {
    // Is the view now checked?
    boolean checked = ((CheckBox) view).isChecked();

    // Check which checkbox was clicked
    switch (view.getId()) {
        case R.id.english:
            if (checked) {
                A = 3*CreditHour;
            } else {
                A = 0;
            }
            break;
        case R.id.math1:
            if (checked) {
                B = ((3*CreditHour) + Book);
            } else {
                B = 0;
            }
            break;
        case R.id.physics1:
            if (checked) {
                C = ((3*CreditHour) + Book);
            } else {
                C = 0;
            }
            break;
        case R.id.it:
            if (checked) {
                D = 3*CreditHour;
            } else {
                D = 0;
            }
            break;
        case R.id.prog1:
            if (checked) {
                E = ((3*CreditHour) + Book);
            } else {
                E = 0;
            }
            break;
        case R.id.comp:
            if (checked) {
                F = 3*CreditHour;
            } else {
                F = 0;
            }
            break;
        case R.id.report:
            if (checked) {
                G = 3*CreditHour;
            } else {
                G = 0;
            }
            break;
        case R.id.prog3:
            if (checked) {
                H = 3*CreditHour;
            } else {
                H = 0;
            }
            break;
        case R.id.discret:
            if (checked) {
                I = 3*CreditHour;
            } else {
                I = 0;
            }
            break;
        case R.id.electronics:
            if (checked) {
                J = 3*CreditHour;
            } else {
                J = 0;
            }
            break;
        case R.id.automata:
            if (checked) {
                K = 3*CreditHour;
            } else {
                K = 0;
            }
            break;
        case R.id.system:
            if (checked) {
                L = 4*CreditHour;
            } else {
                L = 0;
            }
            break;
        case R.id.databasesys:
            if (checked) {
                M = 3*CreditHour;
            } else {
                M = 0;
            }
            break;
        case R.id.co2:
            if (checked) {
                N = 3*CreditHour;
            } else {
                N = 0;
            }
            break;
        case R.id.cn1:
            if (checked) {
                O = ((3*CreditHour) + Book);
            } else {
                O = 0;
            }
            break;
        case R.id.swe2:
            if (checked) {
                P = 3*CreditHour;
            } else {
                P = 0;
            }
            break;
        case R.id.compgrap:
            if (checked) {
                Q = 3*CreditHour;
            } else {
                Q = 0;
            }
            break;
        case R.id.ai:
            if (checked) {
                DR = 3*CreditHour;
            } else {
                DR = 0;
            }
            break;
        case R.id.hci:
            if (checked) {
                S = 2*CreditHour;
            } else {
                S = 0;
            }
            break;
        case R.id.modeling:
            if (checked) {
                T = ((3*CreditHour) + Book);
            } else {
                T = 0;
            }
            break;
        case R.id.webeng2:
            if (checked) {
                U = 3*CreditHour;
            } else {
                U = 0;
            }
            break;
        case R.id.project1:
            if (checked) {
                V = 3*CreditHour;
            } else {
                V = 0;
            }
            break;
        case R.id.optical:
            if (checked) {
                W = 3*CreditHour;
            } else {
                W = 0;
            }
            break;
        case R.id.multimedia:
            if (checked) {
                X = 4*CreditHour;
            } else {
                X = 0;
            }
            break;
        case R.id.arabic:
            if (checked) {
                Y = 2*CreditHour;
            } else {
                Y = 0;
            }
            break;
        case R.id.math2:
            if (checked) {
                Z = 3*CreditHour;
            } else {
                Z = 0;
            }
            break;
        case R.id.probabilty:
            if (checked) {
                AB = 3*CreditHour;
            } else {
                AB = 0;
            }
            break;
        case R.id.physics2:
            if (checked) {
                AC = 3*CreditHour;
            } else {
                AC = 0;
            }
            break;
        case R.id.creative:
            if (checked) {
                AD = 2*CreditHour;
            } else {
                AD = 0;
            }
            break;
        case R.id.introweb:
            if (checked) {
                AE = 3*CreditHour;
            } else {
                AE = 0;
            }
            break;
        case R.id.prog2:
            if (checked) {
                AF = 3*CreditHour;
            } else {
                AF = 0;
            }
            break;
        case R.id.algo:
            if (checked) {
                AG = ((3*CreditHour) + Book);
            } else {
                AG = 0;
            }
            break;
        case R.id.numerical:
            if (checked) {
                AH = 3*CreditHour;
            } else {
                AH = 0;
            }
            break;
        case R.id.swe1:
            if (checked) {
                AI = 3*CreditHour;
            } else {
                AI = 0;
            }
            break;
        case R.id.co1:
            if (checked) {
                AJ = ((3*CreditHour) + Book);
            } else {
                AJ = 0;
            }
            break;
        case R.id.os:
            if (checked) {
                AK = ((3*CreditHour) + Book);
            } else {
                AK = 0;
            }
            break;
        case R.id.economy:
            if (checked) {
                AL = 2*CreditHour;
            } else {
                AL = 0;
            }
            break;
        case R.id.human:
            if (checked) {
                AM = 2*CreditHour;
            } else {
                AM = 0;
            }
            break;
        case R.id.idp:
            if (checked) {
                AN = 3*CreditHour;
            } else {
                AN = 0;
            }
            break;
        case R.id.language:
            if (checked) {
                AO = ((3*CreditHour) + Book);
            } else {
                AO = 0;
            }
            break;
        case R.id.cn2:
            if (checked) {
                AP = 3*CreditHour;
            } else {
                AP = 0;
            }
            break;
        case R.id.webeng1:
            if (checked) {
                AQ = 3*CreditHour;
            } else {
                AQ = 0;
            }
            break;
        case R.id.ethics:
            if (checked) {
                AS = 3*CreditHour;
            } else {
                AS = 0;
            }
            break;
        case R.id.micro:
            if (checked) {
                AT = 3*CreditHour;
            } else {
                AT = 0;
            }
            break;
        case R.id.mobile:
            if (checked) {
                AU = 3*CreditHour;
            } else {
                AU = 0;
            }
            break;
        case R.id.infoass:
            if (checked) {
                AV = 3*CreditHour;
            } else {
                AV = 0;
            }
            break;
        case R.id.integrated:
            if (checked) {
                AW = 3*CreditHour;
            } else {
                AW = 0;
            }
            break;
        case R.id.webeng3:
            if (checked) {
                AX = 3*CreditHour;
            } else {
                AX = 0;
            }
            break;
        case R.id.project2:
            if (checked) {
                AY = 3*CreditHour;
            } else {
                AY = 0;
            }
            break;
        case R.id.neural:
            if (checked) {
                AZ = 3*CreditHour;
            } else {
                AZ = 0;
            }
            break;
    }
}


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

    Spinner spinner = (Spinner) parent;
    if(spinner.getId() == R.id.levelspinner)
    {
        switch (position) {
            case class1:
                CreditHour = 270;

                break;

            case class2:
                CreditHour = 300;
                break;

            case class3:
                CreditHour = 330;
                break;

            case class4:
                CreditHour = 360;
                break;

        }
    }
    else if(spinner.getId() == R.id.semesterspinner)
    {
        switch(position) {
            case Fall:
                semester1.setVisibility(View.VISIBLE);
                semester2.setVisibility(View.GONE);
                break;

            case Spring:
                semester1.setVisibility(View.GONE);
                semester2.setVisibility(View.VISIBLE);
                break;
        }
    }
}
public void onNothingSelected(AdapterView<?> arg0) {

    result.setText("Selections Missed");
}

}

logcat的

致命的例外:主要                                                                                  过程:com.amir.ahmed.EELUStudentUnion,PID:28741                                                                                  java.lang.NullPointerException:尝试在空对象引用上调用虚方法'android.view.View android.app.Activity.findViewById(int)'                                                                                      在com.amir.ahmed.EELUStudentUnion.FeesFragment。(FeesFragment.java:56)                                                                                      在com.amir.ahmed.EELUStudentUnion.MainActivity.onNavigationDrawerItemSelected(MainActivity.java:60)                                                                                      在com.amir.ahmed.EELUStudentUnion.NavigationDrawerFragment.selectItem(NavigationDrawerFragment.java:180)                                                                                      at com.amir.ahmed.EELUStudentUnion.NavigationDrawerFragment.onNavigationDrawerItemSelected(NavigationDrawerFragment.java:104)                                                                                      在com.amir.ahmed.EELUStudentUnion.NavigationDrawerAdapter $ 1.onClick(NavigationDrawerAdapter.java:47)                                                                                      在android.view.View.performClick(View.java:5254)                                                                                      在android.view.View $ PerformClick.run(View.java:21203)                                                                                      在android.os.Handler.handleCallback(Handler.java:739)                                                                                      在android.os.Handler.dispatchMessage(Handler.java:95)                                                                                      在android.os.Looper.loop(Looper.java:145)                                                                                      在android.app.ActivityThread.main(ActivityThread.java:6872)                                                                                      at java.lang.reflect.Method.invoke(Native Method)                                                                                      在java.lang.reflect.Method.invoke(Method.java:372)                                                                                      在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1404)                                                                                      在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

1 个答案:

答案 0 :(得分:0)

您无法像正在执行的那样初始化成员变量。在onCreateView()创建视图后,视图才可用。