문제

새로운 활동을 시작하는 것에 관한 질문이 있습니다. 이것으로 귀결됩니다. 보기에 3 개의 탭이 있습니다

A) contains gMap activity
 B) camera activity
 C) some random text fields.

요구 사항은 애플리케이션이 초상화 모드로 실행됩니다.

3 개의 탭 모두 카메라 미리보기 표면 (B)을 제외하고 예상대로 작동합니다. 90도 회전합니다. 그들은 그것을 올바르게 만드는 방법 만 앱을 내 모든 탭을 던지는 풍경으로 설정하는 것입니다.

내 해결책은 이것입니다. 교체하십시오

예외가없는 정기적 인 활동을 가진 내 카메라 활동

Intent i = new Intent(this,CameraActivity.class);
    startActivity(i);

이것은 내 camartactivity를 시작합니다. 그리고 그것은 잘 작동합니다. 선형 레이아웃을 수행하고 실제 탭처럼 보이는 3 개의 이미지를 포함시켜야하므로 화면을 조경으로 회전시키고 시각을 초상화로 유지하면서 탭 작동을 모방 할 수 있습니다. 사용자는 이미지 중 하나 (버튼)를 클릭하여 다음 탭을 표시 할 수 있습니다. 이것은 내 문제입니다. 탭에서 '카메라 활동'을 종료해야합니다. 탭에서 '빈 활동'으로 돌아와서 내 이미지에서 거부 된 탭을 클릭하도록 해석해야합니다.

가장 중요한 것은 돌아올 때 탭 아래의 빈 (검은 색) 페이지로 돌아갑니다 ( '비어 있기 때문에). 리턴 이벤트를 활동을 불렀던 페이지로 돌아간 다음 어떤 작업을 수행했는지 확인하려면 어떻게해야합니까?

카메라 활동에서 벗어나기 위해 클릭중인 가짜 탭 (이미지)에 응답 할 수있는 onclicklistener를 설정할 수 있습니다. 종료시 탭이 업데이트되어 반환되는 곳입니다. 제안이 있습니까?

감사,

도움이 되었습니까?

해결책

나는 당신이 원하는대로 행동하도록 작업 라운드를 해결하는 방법에 대답하는 데 집중할 것입니다.

한 활동에서 수행 된 동작을 다른 활동 내에서 캡처하려면 세 단계가 필요합니다.

2 차 활동 ( '카메라 활동')을 사용하여 하위 활동으로 시작하십시오. startActivityForResult 대신에 startActivity.

Intent i = new Intent(this,CameraActivity.class);    
startActivityForResult(i, STATIC_INTEGER_VALUE);

사용자가 다른 탭 이미지를 클릭 할 때 활동을 닫지 말고 서적 (카메라 활동) 내에서 새로운 의도를 만들고 Extras 번들을 사용하여 부모 앱으로 돌아올 때 표시 할 탭의 색인을 포함해야합니다. . 부모 전화로 다시 전달합니다 setResult 전화하기 전에 finish 카메라 활동을 닫으려면.

resultIntent = new Intent(null);
resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, tabIndexValue);
setResult(Activity.RESULT_OK, resultIntent);
finish();

마지막 단계는 호출 활동에 있습니다. onActivityResult 카메라 활동에서 콜백을 듣습니다. 표시해야 할 탭의 색인을 결정하기 위해 반환 된 의도에서 추가 정보를 얻으십시오.

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) {     
  super.onActivityResult(requestCode, resultCode, data); 
  switch(requestCode) { 
    case (STATIC_INTEGER_VALUE) : { 
      if (resultCode == Activity.RESULT_OK) { 
      int tabIndex = data.getIntExtra(PUBLIC_STATIC_STRING_IDENTIFIER);
      // TODO Switch tabs using the index.
      } 
      break; 
    } 
  } 
} 
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top