【发布时间】:2013-12-09 17:58:42
【问题描述】:
我的应用上有一个搜索视图。我可以在搜索框中输入,但是,如果我按搜索,应用程序就会崩溃。它说
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;
有人可以帮忙吗?谢谢!
【问题讨论】:
-
在运行项目之前尝试清理。这总是对我有帮助
-
错误本身显示出了什么错误...
-
@Miguel,你在
onOptionsItemSelected()有实现吗? -
你清理过项目吗?然后运行程序?
-
是的。还是不行。
标签: android actionbarsherlock classcastexception searchview