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

로그인 후 백키눌럿을때 edittext 없애려고하는데요(액티비티전환) [closed]

0 추천

메인페이지 A에서 로그인폼 ID.PW 를 입력한 후에 서버랑 통신하고 값 받고 그담 페이지로 넘겨주는게 됬습니다.

그리고 B라는 페이지에서 안드로이드 BACK KEY 를 누르게되면 이전 A엑티비티로 가는데 로그인폼에 ID.PW가 그대로

남아있습니다. 이것을 원래 처음 빈칸으로 만들고싶은데 어떤식으로 해야하나요? 소스 첨부하겠습니다.

A에서 B로 이동할때 소스입니다. 

	if (oksign.equals("OK")) {

				Intent i = new Intent(MainActivity.this, Notice.class);
				startActivity(i);

				Toast.makeText(this, "로그인 되었습니다.", Toast.LENGTH_SHORT).show();
			}

B에서 백키 소스 입니다.


	@Override
	public void onBackPressed() {

		if (mIsBackKeyPressed == false) {

			mIsBackKeyPressed = true;

			mCurrentTimeInMillis = Calendar.getInstance().getTimeInMillis();

			Toast.makeText(this, "두번 클릭하면 어플이 종료됩니다.", Toast.LENGTH_SHORT)
					.show();

			startTimer();

		} else {

			mIsBackKeyPressed = false;

			if (Calendar.getInstance().getTimeInMillis() <= (mCurrentTimeInMillis + (BACKEY_TIMEOUT))) {

				finish();

			}

		}

	}

	private void startTimer() {

		mTimerHander.sendEmptyMessageDelayed(MSG_TIMER_EXPIRED, BACKEY_TIMEOUT);

	}

	private Handler mTimerHander = new Handler() {

		public void handleMessage(Message msg) {

			switch (msg.what) {

			case MSG_TIMER_EXPIRED:

			{

				mIsBackKeyPressed = false;

			}

				break;

			}

		}

	};

 

질문을 종료한 이유: 해결
안드로이드찢어 (1,080 포인트) 님이 2014년 11월 11일 질문
안드로이드찢어님이 2014년 11월 12일 closed

2개의 답변

0 추천
 
채택된 답변
로그인 화면이 살아있어서 가는거같은데 finish 이용해보세요~
콜벳 (7,150 포인트) 님이 2014년 11월 11일 답변
안드로이드찢어님이 2014년 11월 11일 채택됨
화면이 그대로 보이게 할라면 인텐트 태우는곳에서
id.setText("");
password.setText(""); 를하면되겠네요~
로그인화면에서 로그인을 했을 때 다음화면으로 넘어가고 그 화면이 계속 남아있는 상태잖아요. 그건 다음화면에서 앱을 종료시켜도 로그인 화면이 남아있다는 뜻인데
그 로그인 화면에서 인텐트 태울때 아뒤와 비번 적는 edittext를 셋텍스트로 초기화를 시켜주면됩니다~
if (oksign.equals("OK")) {
 
            Intent i = new Intent(MainActivity.this, Notice.class);
            startActivity(i);
            ID.setText("");
            PASSWORD.setText("");
            Toast.makeText(this, "로그인 되었습니다.", Toast.LENGTH_SHORT).show();
        }
제가 myId mypWord 이걸 string 값으로 서버에서 받는데요 그러면

String myId = ((EditText) (findViewById(R.id.editText1))).getText()
                    .toString();

            String myPword = ((EditText) (findViewById(R.id.editText2)))
                    .getText().toString();

이런식으로 해줘야되나요?
저건 버튼을 눌렀을 시 이벤트로 그 공간을 "" 공백으로 바꿔라 이기때문에 상관없는거같은데요
myid.setText("");
myPword.setText("");
이걸 추가해서 넣으시면될거같은데요 저 에딕텍스트를 선언한 변수명을 초기화시키는거라서여
set text 을 온클릭에서 해주엇더니 되네요
근데 제가 하나 더궁금한게 지금 에디텍스트 입력없이 로그인 버튼을 눌러도 접속이 되는경우가 잇는데 공백일경우에 로그인이 안되게하려면 어떤식으로하나요?
if (myid.getText().toString.equals(""));
Toast.내용;
제가 한번 소스 추가해보았는데요 버튼을 누를시 아이디 입력하고 패스워드 입력하지않아도 아이디,비번을 입력해주라고 뜨고 아이디 입력안해도 아이디패스워드 다입력하라고 토스트가 뜹니다.     어떤식으로 해야되는가요 ㅠㅠ
마지막으로 묻겟습니다 부탁드립니다.
@Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        if (v.getId() == R.id.button1) {

            EditText id = (EditText) findViewById(R.id.editText1);
            myid = id.getText().toString();
            id.setText("");

            if (id.getText().toString().equals("")) {
                Toast.makeText(this, "아이디를 입력하세요", Toast.LENGTH_SHORT).show();
            }

            EditText pw = (EditText) findViewById(R.id.editText2);
            mypw = pw.getText().toString();
            pw.setText("");

            if (pw.getText().toString().equals("")) {
                Toast.makeText(this, "비밀번호를 입력하세요", Toast.LENGTH_SHORT).show();

                HttpPostData();

            }
        } else if (v.getId() == R.id.button2) {

            Intent list = new Intent(MainActivity.this,
                    TestWebViewActivity.class);

            startActivity(list);

        }

    }
if (id.getText().toString().equals("")) {
 Toast.makeText(this, "아이디를 입력하세요", Toast.LENGTH_SHORT).show();
 }else if (pw.getText().toString().equals("")) {
Toast.makeText(this, "비밀번호를 입력하세요",Toast.LENGTH_SHORT).show();
}else {
HttpPostData();
}
엘스이프문의 개념을 조금만 공부하시면 될듯합니다
HttpPostData(); 파싱하는 함수인거같은데 else를 넣어주셔야
if문에 걸려있는걸 제외됫을때 넘어가게됩니다.
이상하게 제가 아이디에 입력하고 비밀번호 입력안하면
아이디를 입력하라고 나오네요.
비밀번호 입력하면 아이디입력하라고잘나오네요 ㅠㅠ 뭐가 잘못된걸까요?
위에소스대로 했는데 그렇게 나와요?
네 f (id.getText().toString().equals("")) {
 Toast.makeText(this, "아이디를 입력하세요", Toast.LENGTH_SHORT).show(); 여기서 걸린거같은데 뭔지모르겟네요;;
그리고 HTTPPOSTDATA ();
도 죽네염.
쪽지좀 봐주실수 있으십니까
쪽지온게없는데...흠 소스에서 에러뜨는건 없나요?
그럼 각 해당 이프문 사이사이에 로그를 찍어보세요.
예 에러 뜨는건 없습니다. if에서만 맴도네요 계쏙 ㅠㅠ
쪽지보내드렸어여 제 아뒤누루고 쪽지보내기 보시면 쪽지보일거에여~
쪽지보냇습니다 쪽지로 얘끼하시죠!
0 추천
break; 넣어주세요..;각각 사이에
콜벳 (7,150 포인트) 님이 2014년 11월 11일 답변
break; 넣어도 빨간줄만생기네요~ㅠ
쪽지가 되지않습니다.. 메일로 보내주시면 감사하겠습니다;
에러그대로뜹니댜;; 안드로이드 스튜디오라서그러신거아닌가여;;
...