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

간단한 예약 시스템 질문입니다.

0 추천

일단 제가 간단하게 만들어봤는데 단순하게 버튼 클릭시 랜덤하게 번호 좌석을 줍니다.

중복값을 비교할 대상이 뭔지 몰라서 그냥 배경색이 빨간색인 경우

그 자리는 이미 예약되었다라고 짜봤습니다.

근데 1-5번까지 모두 다 빨간색으로 변했을 경우에는 혹시

모든 좌석이 예약 되었습니다. 이런 메시지를 텍스트 뷰에 나타내는게 가능할까요?

그리고 배경색이 아닌 다른걸로 중복값을 찾을 수 있나요?

 

public class MainActivity extends AppCompatActivity {

    Random Number;
    String Rnumber = " ";

    private TextView[]txt;  // single dimensional array

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

        Button btnFirst = (Button)findViewById(R.id.btnFirstClass);

        btnFirst.setOnClickListener(new View.OnClickListener() {
            LinearLayout l = (LinearLayout) findViewById(R.id.L1); // get the reference
            @Override
            public void onClick(View v) {
              //  String[] a = new String[5];
                TextView result = (TextView)findViewById(R.id.txtResult);
                txt = new TextView[5];
                Number = new Random();
                Rnumber = "0" + (Number.nextInt(5) +1);
                for (int i = 0 ; i < l.getChildCount() ; i++) { //getChildCount() returns the # of Obj
                    txt[i] = (TextView) l.getChildAt(i);
                    ColorDrawable cd = (ColorDrawable)txt[i].getBackground();
                    if(Rnumber.equals(txt[i].getText()))
                    {
                        if(cd.getColor() == Color.RED)
                        {
                            Toast.makeText(MainActivity.this, txt[i].getText() + "this seat is booked", Toast.LENGTH_SHORT).show();
                            result.setText(Rnumber + "this seat is booked. click again");
                            break;
                        }
                        else
                        {
                            txt[i].setBackgroundColor(Color.RED);
                            result.setText("your seat is" + Rnumber);
                        }
                    }
               //     Toast.makeText(MainActivity.this, txt[i].getText() + " and " + Rnumber,Toast.LENGTH_SHORT).show();
                }
                }
        });
    }
}

제 프로그램 스샷은 다음과 같습니다.

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

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...