2013-07-24 4 views
10

Ich möchte Sprachsuche-Funktion zu meiner Anwendung hinzufügen. Ich bevölkere ein SearchView in SherlockActivity. Ich kann jedoch keine Lösung finden, um dem SearchView-Objekt eine Sprachsuchfunktion hinzuzufügen.So implementieren Sie Sprachsuche zu SearchView

Können Sie mir bitte einen Rat geben, was muss ich tun?

-Code unten:

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> 

Antwort

5

Sie können die Dokumentation überprüfen here

Update: Wenn Ihr SearchActivity die gleiche ist, können Sie onNewIntent außer Kraft setzen und handhaben die Suchabsicht dort. Machen Sie Ihre Aktivität auch als singleTop, so dass nur eine Instanz der Aktivität oben bleibt.

Hoffe das hilft und bitte benachrichtigen, wenn Sie eine Lösung finden.

Prost!

2

In Ihrem Ordner res/xml sollten Sie eine durchsuchbare Datei (normalerweise) haben.

Im <searchable /> Element in dieser Datei, sollten Sie dieses Attribut hinzufügen:

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"

Es gibt andere sprachbezogene Attribute (derzeit voicePromptText, voiceLanguageModel und voiceLanguage), die alle described here sind.

Verwandte Themen