当我运行我的项目时,我得到一个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)
答案 0 :(得分:0)
您无法像正在执行的那样初始化成员变量。在onCreateView()
创建视图后,视图才可用。