2010-12-09 5 views
2

내 앱에서 검색 기능이 있습니다. 검색 표시 줄이 "활동 표시"에서 호출되고 사용자가 검색을 수행하면 표시 활동을 완료하고 사용자를 검색 활동으로 가져 가고 싶습니다. 수행되는 검색으로 인해 SearchManager.onDismissListener가 호출되는지 여부를 확인하는 방법이 있습니까?Android에서 검색을 수행 할 때 현재 활동을 어떻게 완료 할 수 있습니까?

내가 피하고 싶은 것은 검색 결과> 쇼> 검색 결과> 쇼 등의 여러 화면을 가지고 검색이 수행 될 때마다 검색 결과로 돌아가고 하나의 검색 활동 만 가질 수 있다는 것입니다 언제든지 스택에서 활동을 보여줍니다.

답변

2

질문을 올바르게 이해하면 검색 활동이 여러 번 생성되는 것을 방지해야합니다.

The impact of the search dialog on your activity lifecycle (안드로이드 워드 프로세서)에는 원하는 것에 대한 설명이 있습니다.

기본적으로 매니페스트에서 검색 가능한 활동을 정의 할 때 android:launchMode에서 "singleTop"으로 설정하려고합니다. 링크의 예에서, 당신은 다음이 같은 것이다 :

<activity android:name=".SearchableActivity" 
       android:launchMode="singleTop" > 
     <intent-filter> 
      <action android:name="android.intent.action.SEARCH" /> 
     </intent-filter> 
     <meta-data android:name="android.app.searchable" 
        android:resource="@xml/searchable"/> 
    </activity> 

을하지만 그에게 의뢰 단지거야 여기에 중복보다는 onCreateonNewIntent과 의도를 처리하기 위해 자신의 충고를 따르도록주의 링크.

당신의 쇼 활동에 대해서도 동일하게 수행 할 수 있습니다. android:launchMode="singleTop"

관련 문제