2013-10-14 27 views
0

我正在創建可搜索的詞典,並且想要將用戶在SearchView中執行的最新查詢顯示給其他活動。就像android dictionaries中的Recent Recent選項一樣。如何將最近的查詢添加到其他活動

private void handleIntent(Intent inent) { 
if (Intent.ACTION_VIEW.equals(intent.getAction())) { 
     // handles a click on a search suggestion; launches activity to show word 
     Intent wordIntent = new Intent(this, WordActivity.class); 
     wordIntent.setData(intent.getData()); 
     startActivity(wordIntent); 
     finish(); 
    } else if (Intent.ACTION_SEARCH.equals(intent.getAction())) { 
     // handles a search query 
     String query = intent.getStringExtra(SearchManager.QUERY); 
     SearchRecentSuggestions suggestions=new SearchRecentSuggestions(this, MySuggestionProvider.AUTHORITY, MySuggestionProvider.MODE); 
     suggestions.saveRecentQuery(query, null); 
     showResults(query); 
    } 
} 

的ShowResult顯示在搜索活動,我想說明最近查詢到其他活動的查詢建議,我怎麼能做到這一點?

+0

我認爲,通過在數據庫中創建另一個表或使用共享首選項,可以將這些建議存儲在表或共享首選項中。 –

回答

0

可能是此代碼將幫助您與共享首選項。

SharedPreferences sPreferences = getSharedPreferences("tushar", Context.MODE_PRIVATE); 
Editor sEditor = sPreferences.edit(); 

Set<String> setName = new HashSet<String>(); 
setName.add("tushar"); 
setName.add("pandey"); 
setName.add("Ram"); 
setName.add("Shiva"); 

sEditor.putStringSet("ko", setName); 
sEditor.commit() ; 

Log.i("hello","tushar:pandey") ; 
Set<String> setName_ = sPreferences.getStringSet("tushar", setName); 
Log.i(setName_.toString(),"tushar:pandey") ; 
+0

有沒有其他想法? – user2365658

0

可能通過ContentResolver的訪問已保存的查詢:

ContentResolver contentResolver = getApplicationContext().getContentResolver(); 

String contentUri = "content://" + MySuggestionProvider.AUTHORITY + '/' + SearchManager.SUGGEST_URI_PATH_QUERY; 

Uri uri = Uri.parse(uriStr); 

Cursor cursor = contentResolver.query(uri, null, null, new String[] { null }, null); 

現在用收到光標填充一個ListView。使用showResults()代碼創建另一個活動。

相關問題