Android 片段中的Bug有2个微调器和复选框
当我运行我的项目时,我得到一个bug java.lang.NullPointerException:试图在一个空对象引用上调用虚拟方法“android.view.view android.app.Activity.findViewById(int)” 我试图使2个微调器在片段中使用一些复选框 这是我的密码:Android 片段中的Bug有2个微调器和复选框,android,checkbox,spinner,Android,Checkbox,Spinner,当我运行我的项目时,我得到一个bug java.lang.NullPointerException:试图在一个空对象引用上调用虚拟方法“android.view.view android.app.Activity.findViewById(int)” 我试图使2个微调器在片段中使用一些复选框 这是我的密码: public class FeesFragment extends Fragment implements AdapterView.OnItemSelectedListener { publ
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");
}
公共类FeesFragment扩展片段实现AdapterView.OnItemSelectedListener{
公共静态最终字符串TAG=“fees”;
//课程总数
整数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;
//一般初始化
整数结果=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+AO+AP+AQ+AS+AT+AU+AV+AW+AY+AZ;
最终TextView结果=(TextView)getActivity().findViewById(R.id.result);
最终按钮calculate=(按钮)getActivity().findViewById(R.id.Button);
//LevelSpinner项
私有静态final int class1=0;
私有静态final int class2=1;
私有静态最终int class3=2;
私有静态最终int class4=3;
积分小时;
int Book=400;
//SemesterSpinner项目
私人静态最终积分下降=0;
专用静态最终int弹簧=1;
@可空
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
返回充气机。充气(R.layout.fragment_费用,容器,错误);
}
//线性布局初始化
LinearLayout semester1=(LinearLayout)getActivity().findViewById(R.id.semester1);
LinearLayout semester2=(LinearLayout)getActivity().findViewById(R.id.semester2);
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
//旋转元件
微调器LevelSpinner=(微调器)getActivity().findViewById(R.id.LevelSpinner);
微调器semestSpinner=(微调器)getActivity().findViewById(R.id.semestSpinner);
//微调器单击侦听器
LevelSpinner.setOnItemSelectedListener(此);
semestSpinner.setOnItemSelectedListener(此);
//微调器下拉元素
列表级别=新建ArrayList();
水平。添加(“2012-2016”);
增加(“2013-2017年”);
添加(“2014-2018年”);
水平。添加(“2015-2019”);
列表学期=新建ArrayList();
学期。添加(“秋季”);
学期。添加(“春季”);
//为微调器创建适配器
ArrayAdapter levelsAdapter=新的ArrayAdapter(getActivity(),android.R.layout.simple\u微调器\u项,级别);
ArrayAdapter semesterAdapter=新的ArrayAdapter(getActivity(),android.R.layout.simple\u微调器\u项,级别);
//下拉式布局样式-带单选按钮的列表视图
levelsAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将数据适配器连接到微调器
LevelSpinner.setAdapter(levelsAdapter);
setAdapter((SpinnerAdapter)SemesterSpinner);
//按钮单击侦听器
calculate.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
result.setText(result);
}
});
}
//复选框功能
单击复选框后的公共无效(视图){
//现在是否检查视图?
布尔选中=((复选框)视图).isChecked();
//选中已单击的复选框
开关(view.getId()){
案例R.id.english:
如果(选中){
A=3*小时;
}否则{
A=0;
}
打破
案例R.id.math1:
如果(选中){
B=((3*学分小时)+书本);
}否则{
B=0;
}
打破
案例R.id.physics1:
如果(选中){
C=((3*学分小时)+书本);
}否则{
C=0;
}
打破
案例R.id.it:
如果(选中){
D=3*小时;
}否则{
D=0;
}
打破
案例R.id.prog1:
如果(选中){
E=((3*学分小时)+书本);
}否则{
E=0;
}
打破
案例R.id.comp:
如果(选中){
F=3*小时;
}否则{
F=0;
}
打破
病例报告:
如果(选中){
G=3*小时;
}否则{
G=0;
}
打破
案例R.id.prog3:
如果(选中){
H=3*小时;
}否则{
H=0;
}
打破
案例R.id.discret:
如果(选中){
I=3*小时;
}否则{
I=0;
}
打破
案例R.id.electronics:
如果(选中){
J=3*小时;
}否则{
J=0;
}
打破
案例R.id.automata:
如果(选中){
K=3*CreditHour;
}否则{
K=0;
}
打破
案例R.id.系统:
如果(选中){
L=4*小时;
}否则{
L=0;
}
打破
案例R.id.databasesys:
如果(选中){
M=3*CreditHour;
}否则{
M=0;
}
打破
案例R.id.co2:
如果(选中){