2013-09-02 16 views
6

アンドロイドの開発者が言うようにSearchView ActionBarアイテムを実装しようとしていますが、何か問題があります。 (http://developer.android.com/guide/topics/ui/actionbar.html)。MenuItemCompat(Android)でSearchViewを取得する

私は多くを探しましたが、私は解決策を見つけることができなかった2つの間違いがあります。

1)MenuItemCompatクラスに問題があります。それは言う:

  • setShowAsAction(アイテム、actionEnum)
  • setActionView(項目、: 方法getActionView(MenuItemには)私はこのクラスの以下のメソッドを使用することができますタイプMenuItemCompat

    について定義されていませんビュー)

ここでは、コード

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.restloader, menu); 
    MenuItem searchItem = menu.findItem(R.id.search_menu); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);  

    // Configure the search info and add any event listeners 

    return super.onCreateOptionsMenu(menu); 
} 
です

2)これに問題があります: xmlns:myapp = "http://schemas.android.com/apk/res-auto" 私はなぜそれが使用されているのかわかりませんが、Googleがそれを言うなら、適切でなければならない。

エラーメッセージ:この行で発見 複数の注釈: - エラー:属性が見つかりませんリソース識別子「actionViewClass」パッケージで 「com.example.pruebahttp3」 - エラー:属性のshowAsActionが見つかりませんリソース識別子'パッケージで 'com.example.pruebahttp3'

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:myapp="http://schemas.android.com/apk/res-auto" > 

<item 
    android:id="@+id/search_menu" 
    android:orderInCategory="100" 
    android:title="@string/search" 
    android:icon="@drawable/ic_search_category_default" 
    myapp:showAsAction="ifRoom|collapseActionView" 
    myapp:actionViewClass="android.support.v7.widget.SearchView">   
</item> 

ありがとうございました!第一の場合

答えて

0

:秒1は第二の場合、この:)

を修正する修正:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:myapp="http://schemas.android.com/apk/res-auto" > 

あなたのアプリケーションの名前空間のcom.xxx.xxx

+0

まだ動作しません...何ができるのか分かりますか? – mxmolins

2

に変更myappに、私が持っています同じ問題、私はそれを次のコードを使用して解決しました。 、私は同様の問題を抱えている \ V7 \ APPCOMPAT \ libsにyourFolderから直接、\ SDK \エクストラ\アンドロイド\サポートをlibにファイルをコピーしよう

<!-- Search, should appear as action button --> 
<item 
    android:id="@+id/action_search" 
    android:icon="@drawable/abc_ic_search" 
    share:showAsAction="ifRoom" 
    share:actionViewClass="android.support.v7.widget.SearchView" 
    android:title="@string/abc_searchview_description_search" /> 

`

0

あなたnamespace.`のケアうしかし、アンドロイドサポートライブラリの手順に従うのではなく、JARライブラリファイルを直接コピーするときに私に起こります。それはあなたのために働くかもしれない反対を試してください。 あなたが私に尋ねるならおかしい。

関連する問題