このようにListFragmentにヘッダーを入れようとしています
@Override
public View onCreateView(org.holoeverywhere.LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View listRoot = inflater.inflate(R.layout.list, null);
headerView = inflater.inflate(R.layout.header);
return listRoot;
}
onActivityCreated で
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setEmptyText("No Contacts");
setHasOptionsMenu(true);
ListView listView = getListView();
//String headerData = "ZZZZZZZZ";
if(headerView != null) listView.addHeaderView(headerView);
String[] from = {TableMetaData.NAME};
int[] to = {R.id.menu_name};
customListAdapter = new ContactListAdapter(getActivity(), R.layout.menu_row,
null, from, to, 0);
setListAdapter(customListAdapter);
setListShown(false);
getLoaderManager().initLoader(0, null, this).forceLoad();
}
Logcat で次のエラーが表示されます
02-04 05:53:09.287: E/AndroidRuntime(22767): FATAL EXCEPTION: main
02-04 05:53:09.287: E/AndroidRuntime(22767): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.abc.xyz/com.abc.xyz.mnp.Mnp}: java.lang.IllegalStateException: Can't be used with a custom content view
02-04 05:53:09.287: E/AndroidRuntime(22767): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
02-04 05:53:09.287: E/AndroidRuntime(22767): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685)
02-04 05:53:09.287: E/AndroidRuntime(22767): at android.app.ActivityThread.access$2300(ActivityThread.java:126)
02-04 05:53:09.287: E/AndroidRuntime(22767): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
02-04 05:53:09.287: E/AndroidRuntime(22767): at android.os.Handler.dispatchMessage(Handler.java:99)
02-04 05:53:09.287: E/AndroidRuntime(22767): at android.os.Looper.loop(Looper.java:123)
02-04 05:53:09.287: E/AndroidRuntime(22767): at android.app.ActivityThread.main(ActivityThread.java:4633)
02-04 05:53:09.287: E/AndroidRuntime(22767): at java.lang.reflect.Method.invokeNative(Native Method)
02-04 05:53:09.287: E/AndroidRuntime(22767): at java.lang.reflect.Method.invoke(Method.java:521)
02-04 05:53:09.287: E/AndroidRuntime(22767): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
02-04 05:53:09.287: E/AndroidRuntime(22767): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
02-04 05:53:09.287: E/AndroidRuntime(22767): at dalvik.system.NativeStart.main(Native Method)
私には、削除するように求めているようsetEmptyText("No Contacts");
に見えsetListShown(false);
ますsetListShown(true);
public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {
私の質問
なぜこのエラーですか?このエラーを回避/回避する方法は?