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

putExtra 로 데이터를 다른 엑티비티로 넘겼는데요. 받는 엑티비티에서..

0 추천
안녕하세요.

A라는 엑티비티에서

Intent intentcard = new Intent(mContext, CashPaymentActivity.class);
intentcard.putExtra("p_price", p_price);
intentcard.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intentcard);

 

CashPaymentActivity 엑티비티로 p_price 로 넘기고

A 엑티비티에서

Intent getIntent;
getIntent = getIntent();
getIntent.getStringExtra("p_price");

 

이렇게 하면 값이 잘 넘어오는데요.

p_price 말고도 많은 데이터가 넘어오는데요. 이걸 하나하나

getIntent.getStringExtra("p_price"); 이런식으로 써서가 아니라

무슨 명령어 하나로 리스트를 쫙 가져올수 있나요??
꾸우우 (1,140 포인트) 님이 2016년 11월 24일 질문

2개의 답변

0 추천
 
채택된 답변
intent.putStringArrayList 명령어로 ArrayList 넣고

intent.getStringArrayList 명령어로 ArrayList 가져올 수 있습니다.

 

이걸 찾으시는 건가요??
크허허허 (580 포인트) 님이 2016년 11월 24일 답변
꾸우우님이 2016년 11월 24일 채택됨
감사합니다! 이것도 알아두겠습니다.
0 추천

Parcelable 인터페이스를 이용하시면 다양한 type의 데이터를 전달할 수 있습니다.

VO Class 생성하신 후 

package com.test;
import android.os.Parcel;
import android.os.Parcelable;

/**
 * 	BasicVO
 * 	기본 VO 객체
 * */
public class BasicVO  implements  Parcelable {

	/* 나의검사 사용변수 */
	private String DATA01, DATA02, DATA03;
			

	public String getDATA01() {
		return DATA01;
	}

	public void setDATA01(String DATA01) {
		this.DATA01 = DATA01;
	}

	public String getDATA02() {
		return DATA02;
	}

	public void setDATA02(String DATA02) {
		this.DATA02 = DATA02;
	}

	public String getDATA03() {
		return DATA03;
	}

	public void setDATA03(String DATA03) {
		this.DATA03 = DATA03;
	}


	public  BasicVO(){
		super();
	}


	/**
	 *  미리 생성할 때 저장할 수 있도록 하는 생성자
	 *
	 * */
	public BasicVO(Parcel src){

		DATA01 = src.readString();
		DATA02 = src.readString();
		DATA03 = src.readString();

	}

	public int describeContents() {
		// TODO Auto-generated method stub
		return 0;
	}

	public void writeToParcel(Parcel dest, int flags) {
		// TODO Auto-generated method stub

		dest.writeString(DATA01);
		dest.writeString(DATA02);
		dest.writeString(DATA03);
	
	}

	public static final Parcelable.Creator<BasicVO> CREATOR = new Parcelable.Creator<BasicVO>() {
		@Override
		public BasicVO createFromParcel(Parcel in) {
			return new BasicVO(in);
		}

		@Override
		public BasicVO[] newArray(int size) {
			// TODO Auto-generated method stub
			return new BasicVO[size];
		}
	};
}

전달할 액티비티에서 putExtra(String name, Parcelable value) 하고

intent.putExtra("DATA", dataVO);

데이터 전달 받을 액티비티에서 수신하면 됩니다.

BasicVO dataVO = getIntent().getExtras().getParcelable("DATA");
히로시 (10,800 포인트) 님이 2016년 11월 24일 답변
...