Java 片段中的SearchView错误
SV(变量)是在列表视图中提供过滤功能的搜索视图…应用程序在加载时退出…在我删除搜索视图代码后,应用程序运行良好…请帮助。。我被卡住了Java 片段中的SearchView错误,java,android,Java,Android,SV(变量)是在列表视图中提供过滤功能的搜索视图…应用程序在加载时退出…在我删除搜索视图代码后,应用程序运行良好…请帮助。。我被卡住了 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v=inflater.inflate(R.layout.contactfragment,
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.contactfragment,container,false);
this.lstNames = (ListView) v.findViewById(R.id.lists);
sv=(SearchView)v.findViewById(R.id.searchContactLIST);
// Read and show the contacts
showContacts();
return v;
}
private void showContacts() {
// Check the SDK version and whether the permission is already granted or not.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ContextCompat.checkSelfPermission(getActivity(),Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, PERMISSIONS_REQUEST_READ_CONTACTS);
//After this point you wait for callback in onRequestPermissionsResult(int, String[], int[]) overriden method
} else {
// Android version is lesser than 6.0 or the permission is already granted.
List<String> contacts = getContactNames();
// String[] arr_contact=contacts.to
List<String> contacts_no = getContactNo();
String[] strarray = new String[contacts.size()];
contacts.toArray(strarray);
String[] strarray2 = new String[contacts_no.size()];
contacts_no.toArray(strarray2);
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, contacts);
// lstNames.setAdapter(adapter);
adapter = new GetContactAdapter(getContext(), strarray, strarray2);
lstNames.setAdapter(adapter);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String text) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return false;
}
});
}
}
public View onCreateView(LayoutInflater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图v=充气机。充气(右布局。触点碎片,容器,假);
this.lstNames=(ListView)v.findViewById(R.id.lists);
sv=(SearchView)v.findViewById(R.id.searchContactLIST);
//阅读并显示联系人
showContacts();
返回v;
}
私人通讯录(){
//检查SDK版本以及权限是否已授予。
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.M&&ContextCompat.checkSelfPermission(getActivity(),Manifest.permission.READ\u CONTACTS)!=PackageManager.permission\u已授予){
requestPermissions(新字符串[]{Manifest.permission.READ\u CONTACTS},PERMISSIONS\u REQUEST\u READ\u CONTACTS);
//在此之后,您将等待onRequestPermissionsResult(int,String[],int[])重写方法中的回调
}否则{
//Android版本低于6.0或已授予权限。
列出联系人=getContactNames();
//字符串[]arr_contact=contacts.to
列出联系人_no=getContactNo();
String[]strarray=新字符串[contacts.size()];
联系人:toArray(strarray);
String[]strarray2=新字符串[联系人编号大小()];
联系电话号码toArray(strarray2);
//ArrayAdapter=新的ArrayAdapter(getContext(),android.R.layout.simple\u list\u item\u 1,contacts);
//lstNames.setAdapter(适配器);
适配器=新的GetContactAdapter(getContext(),strarray,strarray2);
lstNames.setAdapter(适配器);
sv.setOnQueryTextListener(新的SearchView.OnQueryTextListener(){
@凌驾
公共布尔值onQueryTextSubmit(字符串文本){
返回false;
}
@凌驾
公共布尔onQueryTextChange(字符串newText){
adapter.getFilter().filter(newText);
返回false;
}
});
}
}
您指的是哪个searchview代码?发布您的logcat崩溃..报告查看showContacts()中的搜索视图代码…解决了问题…现在运行时没有错误,但它不会搜索任何内容。。。