2016-10-02 1 views
1

활동 A> B> C를 작성했습니다. 활동 A는 B ListView의 값을 결정하는 B에 의도를 전달합니다. 문제는 내가 C에서 뒤로 버튼을 누르면 B의 이전 목록이 더 이상 존재하지 않는다는 것입니다. C에서 뒤로 버튼을 누르면 B에 목록 값을 유지하는 방법은 무엇입니까?다른 활동에서 돌아온 후에 활동 값을 유지하는 방법

+0

일부 코드를 표시하고 자세히 설명하십시오. B에서 C를 시작하고 간단히 C에서 B로 돌아가려면 (C에서 BACK 버튼을 사용하거나'finish()'를 호출하면 B가 올바르게 놓여 있어야합니다). –

답변

1

정적 목록 변수를 사용하여 목록 데이터를 저장/채우십시오. 당신은 활동 (A)에이 목록을 채우고 활동 B에 사용하고이 변수 때문에이 변수를 사용하려면 C.

활동에서
public class ActivityA extends Activity{ 
//Inside Activity A 
public static final List<MODEL> DATA_LIST = new ArrayList<MODEL>(); //here MODEL may be any type of object as required 
//... 
} 

을 반환 할 때 활동 B의 목록은 영향을받지 않습니다 전체 안드로이드 라이프 사이클을 통해 유지됩니다 수 있습니다 on Activity B는 단순히 ActivityA.DATA_LIST를 사용하여 목록 변수를 참조합니다.

관련 문제