複数のタブのアプリケーションで、タブ(Tab2)の1つに拡張可能なリストビューとsearchviewを追加しました。getComponentName()でエラーが発生しました。私はgetActivity()。getComponentName()を追加しました。この行で実行するとエラーはありませんが、NullpointerExceptionが発生します。アプリケーションがクラッシュします。何か案は?getActivity()。getComponentName()into Fragment Nullpointerexception
public class Tab2 extends Fragment implements SearchView.OnQueryTextListener,SearchView.OnCloseListener{
private SearchView search;
private MylistAdapter listAdapter;
private ExpandableListView myList;
private ArrayList<Continent> continentList = new ArrayList<Continent>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab2, container, false);
SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
search = (SearchView) getActivity().findViewById(R.id.search);
search.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
search.setIconifiedByDefault(false);
search.setOnQueryTextListener(this);
search.setOnCloseListener(this);
displayList();
expandAll();
return rootView;
}
private void expandAll(){
int count = listAdapter.getGroupCount();
for (int i=0; i<count; i++)
{
myList.expandGroup(i);
}
}
private void displayList() {
// display the list
loadSomeData();
// get reference to the ExpandableListView
myList = (ExpandableListView) getView().findViewById(R.id.expandableList);
// create the adapter by passing your ArrayList data
listAdapter = new MylistAdapter(getActivity(), continentList);
// attach the adapter to the list
myList.setAdapter(listAdapter);
}
と活動:断片ライフサイクルgetActivityで
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<SearchView
android:id="@+id/search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<ExpandableListView
android:id="@+id/expandableList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/search" >
</ExpandableListView>
[NullPointerExceptionとは何か、それを修正する方法は?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it)の可能な複製) –
クラッシュログを追加できますか? – Sanjeet
java.lang.NullPointerException com.example.orestis.myapp.Tab2.onCreateView(Tab2.java:34) android.support.v4.app.Fragment.performCreateView(Fragment.java :2080) 34行目はsearch.setSearchableInfo(searchManager.getSearchableInfo(getActivity()。getComponentName()))です。 – Orestis