2017-12-31 185 views
2

연습의 ListView가 있는데, 항목을 클릭하면 Detail.java 활동으로 이동하고 운동 정보를 표시하지만 하단에는 다음 단추가 있습니다. 다음 운동으로 가십시오. 많은 세부 활동을하지 않으면 그렇게 할 생각이 없습니다.ListView에서 활동 시작 후 다음 활동으로 돌아 가기

+0

활동 대신 조각에 대한 사용 콘텐츠를 대체 할 조각 –

답변

0

지금까지 내가 정보에서 이해 u는 준 : 당신은 당신의 객체가

Using Serializable and Parcelable instructions

를 구현해야 직렬화 및 Parcelable 인터페이스를 사용하여 활동 사이의 개체를 전달할 수 있습니다 parcelable를 사용하여 직렬화

ArrayList<ModelClass> yourModelList= new ArrayList<Model>(); 
intent.putExtra("modelList", yourModelList); 

데이터

ArrayList<ModelClass> modelList= (ArrayList<ModelClass>).getIntent().getSerializableExtra("modelList"); 

를 검색하여 자세한 활동

에 주요 활동에서 데이터를 전달다음 단계 47,

Intent intent = new Intent(this,Detail.class); intent.putParcelableArrayListExtra("modelList", modelList); startActivity(intent); 

당신의 Detail.java 활동에서 데이터 검색

ArrayList<ModelClass> modelList= getIntent().getParcelableArrayList("modelList"); 

게다가 당신이 하나 개의 활동에서의 ArrayList를 반복하기 시작하면이 지저분 사촌 내가보기 엔 당신이 조각을 사용하는 것이 좋습니다 또 다른 저축 ID 및 기타 물건 희망이 도움이;)

+0

고맙습니다 만 getParcelableExtra ("modelList")가 작동하지 않습니다. getStringArrayListExtra ... –

+0

. 내 대답을 편집했습니다. .putParcelableArrayListExtra 및 getParcelableArrayListExtra를 사용하여 시도해보십시오. – Aliy

0

원하는 매개 변수 (이 예제에서는 다음 연습의 ID)가있는 번들로 세부 활동을 시작할 수 있습니다.

Intent mIntent = new Intent(this, Detail.class); 
Bundle mBundle = new Bundle(); 
mBundle.putInt("id", theIdOfNextExercise); 
mIntent.putExtras(mBundle); 
startActivity(mIntent); 

다음, 시작 상세 활동에, 당신은을 통해 매개 변수를 읽을 수 있습니다

int exerciseId = getIntent().getExtras().getInt("id", 0); 

를 한 다음 세부 활동에서 그 운동에 관한 세부 사항을 보여줍니다. 기본값을 0으로 설정 했으므로 exerciseId> 0 인 경우 표시 할 연습 ID가 있습니다.

번들에는 모든 기본 유형 Serializables 및 Parcelables에 대한 "get"및 "put"메소드가 있습니다. putInt/getInt에 정수를 사용하는 것은 단지 예입니다.

0
당신이 당신의 운동의 ID를 저장하고 호출 활동 ... 내가 더 어렵습니다, 당신은 조각을 사용하는 것이 좋습니다로 잡아보다 번들을 사용할 수

하지만 똑똑한 친절한 이상의 사용자의