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

인텐트로 값이 왜 안넘어가지는지 잘 모르겠습니다.

0 추천

 

안녕하세요.

인텐트로 값을 넘기는 부분에 있어서, 잘 해결되지 않는부분이 있어서, 어디에 문제가 있어서

값이 안넘어가지는지 잘 모르겠습니다...

현재 데이터를 전달해야 하는 흐름은 아래와 같습니다.

 

크게 클래스로 흐름을 잡아보면, Location -> Date_and_Seat -> Payment 입니다.

 

Location 클래스에서, Date_and_Seat 클래스로 텍스트를 하나 보냅니다. 그리고 Date_and_Seat 부분에서 Location

에서 보낸 문자열을 받고 난 뒤에, 그걸 다시 Third_Tab_Button 버튼이벤트를 통해 Payment 클래스로 보낸뒤에

Payment 클래스에서 보낸 문자열을 받아서, 텍스트뷰에 출력을 해야 합니다.

그런데 어디가 잘못되었는지 출력이 제데로 이루어지지않습니다.. 도움이 필요합니다 ㅠ

 

Location 클래스에서, Date_and_Seat 클래스로 텍스트를 하나 보냅니다.

String val2 = null;

< 이하 OnCreate 부분 >

Location_Selection_Btn = (Button) findViewById(R.id.Loation_Selection);
Location_Selection_Btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

               String str2 = val2;
      
        Intent intent = new Intent(getBaseContext(),Date_and_Seat.class);
        intent.putExtra("Location_Information2",str2); //String타입의 데이터를 전달한다.
      
        startActivity(intent);

    }
});


@@
그리고  Date_and_Seat 클래스 에서 Location에서 보낸 문자열을 받습니다.

TextView Location_Text2;

< 이하 Oncreate 부분 >

String str2 = getIntent().getStringExtra("Location_Information2");
Location_Text2 = (TextView) findViewById(R.id.tab2_textview2);
Location_Text2.setText(str2);

그리고 이걸 Location 클래스로 다시 보냅니다

btn3 = (Button) findViewById(R.id.Third_Tab_Button);
btn3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        String str2 = val2;

        Intent it = new Intent(getApplicationContext(),Payment.class);
        it.putExtra("Local_Location",str2);

        startActivity(it);

    }
});

@@
그리고 Payment 클래스에서 Date_and_Seat에서 보낸 스트링을 받을 TextView를 만듭니다.

TextView Payment_Location;

< 이하 Oncreate 부분 >

String str2 = getIntent().getStringExtra("Local_Location");
Payment_Location = (TextView) findViewById(R.id.Payment_Text_Location);
Payment_Location.setText(str2);

 

비선아 (920 포인트) 님이 2016년 11월 15일 질문

1개의 답변

0 추천
 
채택된 답변
올려주신 코드 흐름을 100% 이해를 하지는 못하겠으나

호출했던 Activity를 재 호출 하는 과정에 있어서 이미 create 된 Activity가 있기 때문에 onCreate가 씹히고 onNewIntent로 intent데이터가 들어오는 경우가 있습니다.

onNewIntent를 오버라이드 하여 확인해보세요.
Development Guy (70,570 포인트) 님이 2016년 11월 15일 답변
비선아님이 2016년 11월 20일 채택됨
...