2017-01-19 5 views
0

宣言myAdapterの:必須:Android.widget.CursorAdapterが見つかり:Android.support.v4.widget.CursorAdapter

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    myAdapter = new SimpleCursorAdapter(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, null, from, to, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); 
    } 

使用法:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    // adds item to action bar 
    getMenuInflater().inflate(R.menu.search_main, menu); 

    // Get Search item from action bar and Get Search service 
    MenuItem searchItem = menu.findItem(R.id.action_search); 
    SearchManager searchManager = (SearchManager) MainActivity.this.getSystemService(Context.SEARCH_SERVICE); 
    if (searchItem != null) { 
     searchView = (SearchView) searchItem.getActionView(); 
    } 
    if (searchView != null) { 
     searchView.setSearchableInfo(searchManager.getSearchableInfo(MainActivity.this.getComponentName())); 
     searchView.setIconified(false); 
     searchView.setSuggestionsAdapter(myAdapter); 
     // Getting selected (clicked) item suggestion 
     searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() { 
      @Override 
      public boolean onSuggestionClick(int position) { 

       // Add clicked text to search box 
       CursorAdapter ca = searchView.getSuggestionsAdapter(); 
       Cursor cursor = ca.getCursor(); 
       cursor.moveToPosition(position); 
       searchView.setQuery(cursor.getString(cursor.getColumnIndex("fishName")),false); 
       return true; 
      } 

私はエラーを取得します行:

searchView.setSuggestionsAdapter(myAdapter); 

そして:

CursorAdapter ca = searchView.getSuggestionsAdapter(); 

エラー:

エラー:(218、46)エラー:互換性のない型(225、72)エラー:互換性のない型:アンドロイドSimpleCursorAdapterはCursorAdapter

エラーに変換することができません。 support.v4.widget.CursorAdapterはandroid.widget.CursorAdapterに変換できません

私はthis tutorialに従おうとしています。

なぜこのエラーが発生するのかわかりません。誰も私が光を捨てるのを助けることができますか?

答えて

1

インポートを確認すると、CursorAdapterは標準ライブラリとサポートライブラリの両方に存在するため、すべてのクラス内で一貫性を保ちます。

import android.widget.CursorAdapter; 
import android.support.v4.widget.CursorAdapter; 
+0

なお、このライン修正: 'CursorAdapterのCA = searchView.getSuggestionsAdapterを();'これは、しかしながら、依然としてエラーを返す: 'searchView.setSuggestionsAdapter(myAdapter);'スクリーン上に次のようにします。http:// i.imgur.com/qb7ahI​​v.jpg – Rosenberg

+1

SimpleCursorAdapterのインポート先を次のように変更します。import android.support.v4.widget.SimpleCursorAdapter; –

関連する問題