2013-09-02 6 views
6

Android 개발자가 말한 것처럼 SearchView ActionBar 항목을 구현하려고하는데 문제가 있습니다. (http://developer.android.com/guide/topics/ui/actionbar.html).MenuItemCompat (Android)로 SearchView 받기

내가 많이 찾았지만 해결책을 찾지 못했다는 두 가지 실수가 있습니다.

1) MenuItemCompat 클래스에 문제가 있습니다. 그것은 말한다 : 방법 getActionView (MenuItem의가) 유형에 대한 정의되지 않은 MenuItemCompat

I는 다음과 같은 방법이 클래스에 사용할 수 있습니다

  • setShowAsAction (항목, actionEnum)
  • setActionView (항목, 뷰) 여기서

는 코드

@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이 사용하는 이유는 모르겠지만 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> 

대단히 감사합니다! 제 1 회 대한

답변

0

: 2은이 :

해결됩니다 두 번째 고정 : 당신이 응용 프로그램의 네임 스페이스 com.xxx.xxx에

<?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" > 

변경 myapp와는

+0

여전히 작동하지 않습니다 ... 무엇이 될 수 있는지 아십니까? – mxmolins

2

내가 가지고 동일한 문제, 나는 그것을 수행 코드를 사용하여 해결. 직접 내가 비슷한 문제가 안드로이드의 \ support \ V7 \ APPCOMPAT \ libs와 \ yourFolder \ SDK \ 엑스트라에서 lib에 파일을 복사 할 namespace.`의

<!-- 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

한번에 관리해야합니다, 하지만 안드로이드 지원 라이브러리 절차를 따르기보다는 직접 JAR 라이브러리 파일을 복사 할 때 발생합니다. 반대로 시도해보십시오. 나 한테 물어 보면 좀 이상해.