Questions tagged «listadapter»

2
如何获得给定上下文的布局充气机?
我正在编写ListAdapter的自定义实现。 在其构造函数中,我将获取一个Context,一个资源ID(即R.id.xxx代表布局文件)以及一个列表和一个映射(其中包含数据)。 现在,问题是我将需要一个LayoutInflater来获取位于单独的布局XML文件中的View对象。 仅给出上下文,如何才能获得LayoutInflater? 现在,为什么我认为这是可行的,是因为这与传递给ArrayAdapter的构造函数(上下文,资源,textViewResourceId,数据数组)非常相似,而且我认为ArrayAdapter也必须利用LayoutInflater仅提供了一个上下文。 但是怎么办呢?

11
ListView addHeaderView导致位置增加一?
下面是带有ListView的代码段。我添加了emptyView和headerView。添加headerView会使onItemClick中的位置增加一。 因此,如果没有headerView,则第一个列表元素的位置为0,而如果标题为headerView,则第一个列表元素的位置将为1! 这会导致我的适配器出错,例如,在调用getItem()并使用其他方法时,请参见下文。奇怪的事情:即使添加了headerView,在适配器的getView()方法中,第一个列表元素的位置也是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) …

13
ListAdapter不更新RecyclerView中的项目
我正在使用新的支持库ListAdapter。这是我的适配器代码 class ArtistsAdapter : ListAdapter<Artist, ArtistsAdapter.ViewHolder>(ArtistsDiff()) { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { return ViewHolder(parent.inflate(R.layout.item_artist)) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { holder.bind(getItem(position)) } class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { fun bind(artist: Artist) { itemView.artistDetails.text = artist.artistAlbums .plus(" Albums") .plus(" \u2022 ") .plus(artist.artistTracks) .plus(" Tracks") itemView.artistName.text = …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.