ListView addHeaderViewにより、位置が1つ増えますか?
以下は、ListViewを使用したコードスニペットです。emptyViewとheaderViewを追加しました。headerViewを追加すると、onItemClickの位置が1つ増えます。 したがって、headerViewがない場合、最初のリスト要素の位置は0になり、headerViewを使用すると、最初のリスト要素の位置は1になります。 これにより、アダプタでエラーが発生します。たとえば、getItem()を呼び出して他のいくつかのメソッドを使用すると、以下を参照してください。奇妙なこと:アダプターのgetView()メソッドでは、headerViewが追加されている場合でも、最初のリスト要素が位置0でリクエストされます。 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ListView list = (ListView) viewSwitcher.findViewById(R.id.list); View emptyView = viewSwitcher.findViewById(R.id.empty); list.setEmptyView(emptyView); View sectionHeading = inflater.inflate(R.layout.heading, list, false); TextView sectionHeadingTextView = (TextView) sectionHeading.findViewById(R.id.headingText); sectionHeadingTextView.setText(headerText); list.addHeaderView(sectionHeading); list.setAdapter(listAdapter); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) …