내 앱에 searchview가 있습니다. 검색 상자에 입력 할 수 있지만 검색을 누르면 앱이 다운됩니다. 그것은 그러나ClassCastException ActionBarSherlock을 사용하는 SearchView
11-25 00:57:09.446: E/AndroidRuntime(1914): java.lang.ClassCastException: com.actionbarsherlock.widget.SearchView cannot be cast to android.widget.SearchView
, 내가 내 메뉴 파일에 선언하는 것은 정확했다. 여기
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/search"
android:title="Quezon City Guide"
android:icon="@drawable/ic_action_search"
android:showAsAction="collapseActionView|ifRoom"
android:actionViewClass="com.actionbarsherlock.widget.SearchView" />
</menu>
내가 그것을
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.options_menu, (Menu) menu);
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView =
(SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
내가 잘못 뭘하는지 모르는 전화 드렸습니다 방법입니다. 여기
는import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;
import com.actionbarsherlock.widget.SearchView;
import com.actionbarsherlock.app.SherlockActivity;
수 누군가가 도움을 호소 내 수입이다. 감사!
프로젝트를 실행하기 전에 깨끗이 해보십시오. 그게 항상 내게 도움이 – Anirudh
그 자체가 실수 였는지 보여줍니다 ... –
@Miguel,'onOptionsItemSelected()'에 구현되어 있습니까? – Geros