intent 로 String 값 받아올 떄 널값..만 들어옵니다.

조회수 826회
//Second.class

f =fstE.getText().toString();       l = lstE.getText().toString();

Intent i = new Intent(Second.this, T1_text.class);
i.putExtra("lastName",l);
i.putExtra("firstName",f);
startActivity();

//T1_text.class

Intent i2 = getIntent();

F = i1.getStringExtra("firstName");
L = i1.getStringExtra("lastName");요

이렇게 작성했습니다. 인텐트로 담아올 시에 null값으로 처리되고, Second 에서 putExtra(fstE.getText().toString();) 이렇게 담아올 경우에는 제대로 실행됩니다.

제가 원하는 건 객체에 담아 여러 액티비티에 활용하는 건데 객체에 담기지가 않습니다 ㅠㅠㅠㅠㅠㅠ 전역변수 설정해보라 그래서

Application.class

public String l; String f;

public String getL(){
    return l;
}
public void setL(String l){
    this.l =l;
}

이렇게 했으나 같은상황입니다. ㅠ 도와주세요 ㅠㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • T1_text.class 는 Activity 를 상속받은 클래스인가요? getIntent() 메서드를 호출하는곳은 어디인가요? getIntent 사용해서 얻는 Intent 변수이름은 i2 인데 인텐트에서 데이터를 가져오는 getStringExtra 메서드는 i1 변수에서 사용하는데 이 질문에서만 오타가 난건가요? 김은기 2020.3.10 22:44

1 답변

  • 
    public class Name {
        private static Name INSTANCE;
    
        private String mFirstName;
        private String mLastName;
    
        public static Name get() {
            if (INSTANCE== null) {
                synchronized (Name.class) {
                    if (INSTANCE== null) {
                        INSTANCE = new Name();
                    }
                }
            }
            return INSTANCE;
        }
    
        public void setFirstName(String firstName) {
            mFirstName = firstName;
        }
    
        public String getFirstName() {
            return mFirstName;
        }
    
        /* LastName도 만들어주세요.*/
    }
    

    댓글로 작성했다시피 getIntent 로 받아온 변수 이름과 getStringExtra 를 사용하는 변수 이름이 다른걸 확인해보세요.

    그리고 두번째...

    제가 원하는 건 객체에 담아 여러 액티비티에 활용하는 건데 객체에 담기지가 않습니다 ㅠㅠㅠㅠㅠㅠ 전역변수 설정해보라 그래서

    전역변수 설정해보라고 하는게 아마 싱글톤 패턴을 사용하라고 한게 아닐까 싶습니다. 위와 같은 자바 파일을 생성하시고

    
    // 원하는 곳에서 저장
    Name.get().setFirstName(fstE.getText().toString());
    
    // 원하는 곳에서 사용
    String firstName = Name.get().getFirstName();
    

    이렇게 사용해 보시기 바랍니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)