마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

EditText 값을 int형으로 형변환 후 if 조건문에서 사용하는데 막힙니다.

0 추천

public class MainActivity extends AppCompatActivity {

EditText input1, input2, input3;

Button Btn;

String edit1, edit2, edit3;

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

 

Btn = (Button)findViewById(R.id.button) ;
input1 = (EditText)findViewById(R.id.answer1) ;
input2 = (EditText)findViewById(R.id.answer2) ;
input3 = (EditText)findViewById(R.id.answer3) ;
edit1 = input1.getText().toString();
edit2 = input2.getText().toString();
edit3 = input3.getText().toString();


    if(edit1==null||edit1.trim().equals("")){
            edit1="0";
        }
    if(edit2==null||edit1.trim().equals("")){
            edit2="0";
        }
    if(edit3==null||edit1.trim().equals("")){
            edit3="0";
        }

}

public void onClick(View view) {
        Intent intent1 = new Intent(MainActivity.this, SubActivity.class);
        Intent intent2 = new Intent(MainActivity.this, SubActivity2.class);

        Bundle bundle = new Bundle();
        bundle.putString("t1", input1.getText().toString());
        bundle.putString("t2", input2.getText().toString());
        bundle.putString("t3", input3.getText().toString());
        

        intent1.putExtras(bundle);
        if((Integer.parseInt(edit1) >40)||(Integer.parseInt(edit2) >40)||(Integer.parseInt(tv11)>8.5)||(Integer.parseInt(edit3)>120))
        {
            startActivity(intent1);
        }
        else
        {
            startActivity(intent2);
        }

    }

}

EditText는 xml에서 android:inputType="number"로 맞춰놨습니다.

액티비티 3개다 manifest에 입력했구요.

EditText에서 입력된 int값을 버튼을 누를때 if조건문에서 비교해서 해당 수치보다 높으면 SubActivity로 낮으면 SubActivity2로 이동하게 해놨는데 조건에 만족하게 값을 입력해도 계속 SubActivity2로 이동하네요...

무엇이 문제인가요?

 

 

익명사용자 님이 2017년 6월 19일 질문

1개의 답변

+1 추천
1. String의 null또는  empty 비교는 TextUtil.isEmpty()로 하시는게 좋습니다.

2. onClick에서의 edit1, edit2, edit3은 항상 "0"으로 고정되어있네요, onClick시에 다시 edit1 = input1.getText().toString() 등으로 초기화 시켜주시기 바랍니다.
Charlesz (4,420 포인트) 님이 2017년 6월 19일 답변
해결했습니다 감사합니다!
...