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

인텐트로 값 넘겨줄 때 putExtra를 2번 사용하면 안되나요?

0 추천
Intent resultIntent = new Intent();
          resultIntent.putExtra("name", et.getText().toString());
          Toast.makeText(getBaseContext(), u.toString(), Toast.LENGTH_LONG).show();
          resultIntent.putExtra("uri", u.toString());
          setResult(1, resultIntent);
          finish();







String name = data.getExtras().getString("name");
String stringuri = data.getExtras().getString("uri");
Toast.makeText(getBaseContext(), "result name : " + name, Toast.LENGTH_LONG).show();
Toast.makeText(getBaseContext(), "uri : " + stringuri, Toast.LENGTH_LONG).show();

위가 보내는 쪽이구요. 여기까지는 Uri u 값이 잘 나옵니다.

아래는 받는 쪽인데요. name 값은 잘 나오는데... uri값이 null로 나오네요. ㅠ

2번 사용하면 안되나봅니다.. 그럼 값을 2개 보낼 때는 어떡하죠??

 

머리가 (370 포인트) 님이 2014년 5월 10일 질문

1개의 답변

+1 추천
 
채택된 답변

putEatra 로 여러개의 값을 넘길 수 있어요. 

Bundle bundle = data.getExtras();

String name = null;

String uri = null;

if( bundle != null ) {

    name = bundle.getString(...);

   uri = bundle.getString(...);

}

위와 같은 방식으로 해보세요.

And (1,760 포인트) 님이 2014년 5월 12일 답변
머리가님이 2014년 5월 12일 채택됨
Intent resultIntent = new Intent();
                Bundle bundle = new Bundle();
                bundle.putString("name", et.getText().toString());
                bundle.putString("ui", u.toString());
                resultIntent.putExtras(bundle);
                setResult(1, resultIntent);
                finish();
보내는 쪽에서도 번들에 넣어주니 되는 군요!! 감사합니다.
...