개체에 대한 참조가 있다고하면 어떻게 하나의 활동에서 다른 활동으로이 작업을 전달해야합니까?한 활동에서 다른 활동으로 참조 (직렬화 가능하지 않음)를 전달하는 방법은 무엇입니까?
Application Object/singletons/static 변수를 쿼리하고 싶지 않습니다.
그래도 가능합니까?
개체에 대한 참조가 있다고하면 어떻게 하나의 활동에서 다른 활동으로이 작업을 전달해야합니까?한 활동에서 다른 활동으로 참조 (직렬화 가능하지 않음)를 전달하는 방법은 무엇입니까?
Application Object/singletons/static 변수를 쿼리하고 싶지 않습니다.
그래도 가능합니까?
정적 변수를 다른 활동 또는 응용 프로그램 클래스의 전역 변수로 선언 한 다음 OldActivity에서 NewType 유형의 일부 개체를 구문 분석하려는 것처럼 모든 활동에 액세스 할 수 있습니다. 다음과 같이하십시오.
NewActivity.java에서 정적 NewType의 개체를 선언하십시오.
public static NewObject newObject=null;
수행 할 때, 당신이 NewActivity를 호출 할 때.
NewActivity.newObject=item;
Intent intent=new Intent(OldActivity.this, NewActivity.class);
startActivity(intent);
다음 방법 중 하나를 수행 할 수 있습니다
이 문서에서 예입니다 (가장 빠른, 가장 효율적인)
parcelable
인 오브젝트를 인 텐트에 첨부하고 수신 활동에서 '언랩'하십시오. 솔루션의 public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
하나 :
이StorageManager.getInstance().saveSomething(Object obj);
다시 각각의 getter 메소드
로 검색 : 이당신은
예를 들어원하는 정보를 전달하기 위해 싱글 톤 클래스를 만들 수 있습니다
동기화 문제를 처리해야합니다.
안녕하세요, 저는 액티비티에 정적 변수/응용 프로그램 개체를 전달하지 않을 것입니다. – kietdlam
인 텐트를 통해 어떤 객체를 전달하려면 번들을 사용할 수 있지만 번들에 값을 넣을 수 있어야합니다. 객체를 구분할 수있는 객체 여야하며 그렇지 않은 경우 다른 방법으로 객체를 전달하고 객체를 전달해야합니다. Android ActivityManager는 자체 Activity 액티비티의 생성자를 호출하므로 생성자에서 매개 변수를 전달할 수 없습니다. 나는 다른 방법이 없다고 생각한다. – jeet
이것은 내가 찾던 답변이 아니었지만, 찾고 있던 행동을 지원하지 않는 프레임 워크 때문인 것처럼 보입니다. 고맙습니다! – kietdlam