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

edittext값을 넘기는 문제 질문 드려요~

0 추천

a라는 액티비티에서 에디트 박스에서 입력한 글자를 b라는 액티비티에 나타나게끔 하고 싶은데요

 

a라는 액티비티에서 에디트 박스를 동적으로 생성했습니다

 

4~10개정도의 에디트 박스를 선택에 따라 수를 다르게 나타나게끔 하기 위해서였는데요

 

a라는 액티비티에서의 에디트 박스 동적 소스는

 

edt[i]=new EditText(this);
edt[i].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
edt[i].setText(null);
edt[i].setSingleLine(true);
edt[i].setId(i);
testLayout.addView(edt[i]);
 
이렇구요 여기서 값을 받아서 저장하는 소스는
 
for(int i=1; i<=str_int; i++){
poktanju_intent.putExtra("name",edt[i].getText().toString());
 
}
 
이렇습니다
 
b라는 액티비티에서 a에서 넘긴 값을 나타내기 위해 텍스트 뷰를 동적으로 만들어
 
텍스트 뷰에 나타내게끔 하고 싶은데 잘 안 되네여
 
아래가 소스입니다
 
Intent intent = getIntent();
String name = intent.getStringExtra("name");
..
..for(int i=1; i<=str_int; i++){
 
textV[i]=new TextView(this);
textV[i].setText("name");
textV[i].setTextSize(15);
textV[i].setId(i);
}
 
xml 파일을 따로 만들어 했을 때는 오류가 있어도 나타나긴 했는데 이건 아예 안 나오네요
 
오류라는 것이 마지막 칸에 입력한(5줄이면 5줄에 입력한 글자만) 글자만 나타나구요
 
고수님들의 충고 부탁드립니다...
 
 
 

 

깡통로이드 (390 포인트) 님이 2014년 3월 26일 질문

1개의 답변

+1 추천

poktanju_intent.putExtra("name",edt[i].getText().toString());

이 부분을 보면 intent의 name 키에는 마지막 값만 넣고 계시네요. 

StringBuilder에 넣어서, 문자열을 기호로 부분되는 문자열로 바꿔서 보내고, B에서 split을 하던지, 아니면 intent에 넣을 때 array형식으로 넣던지 해보세요 

쎄미 (162,410 포인트) 님이 2014년 3월 26일 답변
충고해주신 데로 해보았습니다
String 형으로 배열을 만들어서 배열 방마다 에디트 값을 저장한 뒤

String[] array = new String[];
        for(int i=1; i<=str_int; i++){
            array[i-1] = edt[i].getText().toString();
        }
        poktanju_intent.putExtra("name",array);

받을 때면
        String[] name = intent.getStringArrayExtra("name");
        for(int i=1; i<=10; i++){

            textV[i]=new TextView(this);
            textV[i].setText(name[i-1]);
            textV[i].setTextSize(15);
            textV[i].setId(i);
        }

이렇게 해보았는데도 안 되네요

조금 더 힌트를 주시면 안될련지요...
...