연습의 ListView가 있는데, 항목을 클릭하면 Detail.java 활동으로 이동하고 운동 정보를 표시하지만 하단에는 다음 단추가 있습니다. 다음 운동으로 가십시오. 많은 세부 활동을하지 않으면 그렇게 할 생각이 없습니다.ListView에서 활동 시작 후 다음 활동으로 돌아 가기
답변
지금까지 내가 정보에서 이해 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 및 기타 물건 희망이 도움이;)
고맙습니다 만 getParcelableExtra ("modelList")가 작동하지 않습니다. getStringArrayListExtra ... –
. 내 대답을 편집했습니다. .putParcelableArrayListExtra 및 getParcelableArrayListExtra를 사용하여 시도해보십시오. – Aliy
원하는 매개 변수 (이 예제에서는 다음 연습의 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에 정수를 사용하는 것은 단지 예입니다.
하지만 똑똑한 친절한 이상의 사용자의
활동 대신 조각에 대한 사용 콘텐츠를 대체 할 조각 –