2013-07-24 17 views
10

自分のアプリケーションに音声検索機能を追加したいと思います。私はSherlockActivityでSearchViewを設定しています。しかし、私は、SearchViewオブジェクトに音声検索機能を追加するソリューションを見つけることができません。SearchViewに音声検索を実装する方法

アドバイスをお願いします。どうすればいいですか?以下

コード:

public class MainActivity extends SherlockActivity { 
     private SlidingMenu slidingMenu; 
     private SlidingMenu slidingMenuRight; 
     private String mFilterArrays[]; 
     public long lastScrollTime=0; /** En son kaydırma ne zaman yapıldı*/ 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
    } 

     public boolean onCreateOptionsMenu(Menu menu) { 

        //Create the search view 
        SearchView searchView = new SearchView(getSupportActionBar().getThemedContext()); 
        searchView.setQueryHint("Search..."); 


        menu.add("Search") 
         .setIcon(R.drawable.ic_search_inverse) 
         .setActionView(searchView) 
         .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); 
         return true; 
    } 
} 

Mainfest

<activity 
    android:name="com.paea.bcp.MainActivity" 
    android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="com.paea.bcp.MainActivity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <action android:name="android.intent.action.SEARCH" />     
    </intent-filter> 
</activity> 

答えて

5

あなたがドキュメントをチェックアウトすることができますhere

更新:あなたのSearchActivityが同じものである場合、あなたはonNewIntentをオーバーライドして処理することができますそこに検索インテントがあります。また、アクティビティをsingleTopとして作成すると、アクティビティのインスタンスが1つだけ上に残ります。

願わくば解決策を見つけたら通知してください。

乾杯!

2

res/xmlフォルダには、検索可能なファイル(通常searchable.xml)が必要です。そのファイル内の<searchable />要素内

、あなたは、この属性を追加する必要があります

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"

は全てdescribed hereている他の音声関連の属性(現在voicePromptTextvoiceLanguageModelvoiceLanguage)があります。

関連する問題