2015-06-17 30 views
2

我想從onSuggestionClick(int position)中的position參數中獲取值。對應於每個選擇,在該方法中傳遞一個位置。我如何從位置獲取字符串值?如何從android中的onSuggestionClick(int position)中獲取位置值

的方法是:

public boolean onSuggestionClick(int position) 
      { 
       // Your code here 
      String selectedItem = (String)mAdapter.getItem(position); 
      Toast.makeText(getBaseContext()," on suggestion click position and item is" + position + selectedItem, Toast.LENGTH_LONG).show(); 


       startActivity(new Intent(getBaseContext(), SearchResultsActivity.class)); 

       return true; 
      } 

對應的適配器:

final String[] from = new String[] {"cityName"}; 
     final int[] to = new int[] {android.R.id.text1}; 
     mAdapter = new SimpleCursorAdapter(this, 
       android.R.layout.simple_list_item_2, 
       null, 
       from, 
       to, 
       CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); 

     search.setSuggestionsAdapter(mAdapter); 

我收到以下錯誤:

java.io.IOException at android.accounts.AccountManager.convertErrorToException

回答

0

位置參數返回的絕對位置點擊顯示的建議列表中的項目estions。

mAdapterSimpleCursorAdapter

public SimpleCursorAdapter mAdapter; 

一個對象下面的代碼是獲得點擊的建議的文本值

SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search)); 
searchView.setIconifiedByDefault(false); 
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 
searchView.setSuggestionsAdapter(mAdapter); 
searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() { 
    @Override 
    public boolean onSuggestionClick(int position) { 
     Cursor cursor = mAdapter.getCursor(); 
     cursor.moveToPosition(position); 
     columnIndex = 1 /* Set your column index*/ 
     String selectedItem = cursor.getString(columnIndex); 
     Log.d("Clicked Item", selectedItem); 
     return true; 
    } 

    @Override 
    public boolean onSuggestionSelect(int position) { 
     /* Write your code */ 
     return true; 
    } 
}); 

的logcat: LogCat Print

搜索UI: Search UI