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

edittext와 그 안에 있는 if문의 toast 질문입니다.

0 추천
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
     if (edittext1.length()>0){
            Toast.makeText(getApplicationContext(), editText.getText().toString(),Toast.LENGTH_SHORT).show();
        }  else if (edittext1.length()==0){
            Toast.makeText(MainActivity.this,"입력되지 않았습니다.",Toast.LENGTH_SHORT).show();
        }
위 부분에서 edittext에서 입력된 값의 길이가 0으로 설정된다면, toast 메시지로 입력되지 않았습니다. 까지는 출력이 됩니다
그래서 제 생각으로 edittext 값에서 입력된 값의 길이가 0보다 크다면 자연스럽게 toast메세지에 입력된값이 출력될거 같아서 이런식으로 작성했는데, 입력을 아무리 해도 입력되지 않았습니다 라고만 뜹니다 ㅠㅠ
asdasde123131 (120 포인트) 님이 2022년 4월 12일 질문

1개의 답변

0 추천

질문이 잘린 부분이 있어서, 문제를 100% 이해는 못했습니다만... 요지가 입력박스에 입력된 것이 없으면 메세지를 띄우고 싶은데 잘 안된다고 하시는 것 같네요.

일단 작성하신 코드 자체는 이상은 없습니다. 문제가 되는 부분은 올리신 코드 외적인 부분을 찾아보시는게 좋을 것 같네요.

코드에서는 edittext1 의 입력상태를 체크하고 editText 의 입력내용을 보여주고 계신데, 이 부분도 살짝 의심스러워 보이구요. 
작성하신 코드는 아래처럼 읽기 좋게 수정할 수 있을 것 같습니다.

builder.setPositiveButton("OK",  new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
          showUserInputMessage();
    }
});


private void showUserInputMessage() {
   String message = TextUtils.isEmpty(edittext1.getText()) ? editText.getText().toString() : "입력되지 않았습니다.";
   popMessage(message);
}

private void popMessage(String message) {
   Toast.makeText(getApplicationContext(), message,Toast.LENGTH_SHORT).show();   
}

 

spark (227,830 포인트) 님이 2022년 4월 12일 답변
...