현재 독학으로 어플 제작 중인 학생입니다. 기초가 부실하다보니 간단한 어플리케이션 제작하는 데도 어려움이 많습니다ㅜㅜ
아래처럼 spinner에 switch로 값을 줬는데 작동하지 않는지 이 변수를 사용하는 수식의 값이 모두 0으로 나옵니다. ㅜㅜ
스위치 구문의 위치도 바꿔보고 했는데 해결되지 않아 질문 올립니다.
public class MainActivityBeam extends AppCompatActivity {
Button btn_beam, bs, bno;
Spinner rebar_d;
EditText beamrebar_num, beamfck, beamfy, beamd, beamb, bmu;
TextView bbd, bpmax, bpmin, bfck1, bfck2, ba1, ba2, beamb2, bpimn, bc;
double bbd_textView;
double bAs;
double bp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_single);
btn_beam = findViewById(R.id.bq);
btn_beam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), MainActivityBeamqu.class);
startActivity(intent);
}
});
bs =(Button) findViewById(R.id.bs);
beamrebar_num = (EditText)findViewById(R.id.beamrebar_num);
bbd = (TextView)findViewById(R.id.bbd);
beamfck =(EditText) findViewById(R.id.beamfck);
beamfy =(EditText) findViewById(R.id.beamfy);
beamb =(EditText) findViewById(R.id.beamb);
beamd =(EditText) findViewById(R.id.beamd);
bfck1 =(TextView) findViewById(R.id.bfck1);
bfck2 =(TextView) findViewById(R.id.bfck2);
ba1 =(TextView) findViewById(R.id.ba1);
ba2 =(TextView) findViewById(R.id.ba2);
bpmax =(TextView) findViewById(R.id.bpmax);
bpmin =(TextView) findViewById(R.id.bpmin);
beamb2 =(TextView) findViewById(R.id.beamb2);
bpimn =(TextView) findViewById(R.id.bpimn);
bs.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rebar_d=(Spinner)findViewById(R.id.rebar_d);
ArrayAdapter rebar_dAdapter = ArrayAdapter.createFromResource(getApplicationContext(),R.array.rebar_d_array, android.R.layout.simple_spinner_item);
rebar_dAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
rebar_d.setAdapter(rebar_dAdapter);
beamrebar_num.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence s, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
String brnum = rebar_d.getSelectedItem().toString();
int brnum_i = Integer.parseInt(brnum);
switch (brnum_i){
case 6:
bAs = 31.67;
break;
case 10:
bAs = 71.33;
break;
case 13:
bAs = 126.7;
break;
case 16:
bAs = 198.6;
break;
case 19:
bAs = 286.5;
break;
case 22:
bAs = 387.1;
break;
case 25:
bAs = 506.7;
break;
case 29:
bAs = 642.4;
break;
case 32:
bAs = 794.2;
break;
case 35:
bAs = 956.6;
break;
case 38:
bAs = 1140.0;
break;
case 41:
bAs = 1340.0;
break;
case 51:
bAs = 2027.0;
break;
}
if(beamrebar_num.getText().toString().length()<=0){
bbd_textView=1;
}else {
bbd_textView=Double.parseDouble(beamrebar_num.getText().toString());
}
bbd.setText(String.format("%.2f",bAs*bbd_textView));
}
});