Я пытаюсь реализовать ListView для фрагмента, но получаю сообщение об ошибке "android.widget.Filter android.widget.ArrayAdapter.getFilter () 'с нулевой ссылкой на объект" при выполнении кода я получаю сообщение об ошибке, когда я пытаюсь найти ListView.
XML-код
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:fillViewport="true">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- Main ListView Always give id value as list(@android:id/list) -->
<!-- Search Bar -->
<EditText
android:id="@+id/inputSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:ems="10"
android:maxLines="1"
android:drawableLeft="@android:drawable/ic_menu_search"
android:hint="Search" >
<requestFocus />
</EditText>
<ListView
android:id="@+id/assembly_business_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</ScrollView>
Java-код:
public class AssemblyBusinessFragment extends Fragment {
String[] menuItems = {"Acts","Bills","Communication from Chair","Order Papers"};
private EditText inputSearch;
private ListView assembly_business_list;
private ArrayAdapter adapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.assembly_business, container, false);
//returning our layout file
//change R.layout.yourlayoutfilename for each of your fragments
ListView assembly_business_list = (ListView) view.findViewById(R.id.assembly_business_list);
ArrayAdapter<String> listViewAdapter = new ArrayAdapter<String>(
getActivity(),
android.R.layout.simple_expandable_list_item_1, menuItems
);
assembly_business_list.setAdapter(listViewAdapter);
inputSearch = (EditText) view.findViewById(R.id.inputSearch);
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
AssemblyBusinessFragment.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//you can set the title for your toolbar here for different fragments different titles
getActivity().setTitle("Assembly Business");
}
}
Мне нужно, чтобы кто-то решил эту ошибку, пожалуйста.