タグ付けされた質問 「listadapter」

2
コンテキストを指定してレイアウトインフレーターを取得する方法は?
ListAdapterのカスタム実装を書いています。 そのコンストラクターでは、コンテキスト、リソースID(つまり、レイアウトファイルを表すR.id.xxx)、リストとマップ(これらにはデータが含まれています)を取り込みます。 ここでの問題は、別のレイアウトXMLファイルにあるViewオブジェクトを取得するためにLayoutInflaterが必要になることです。 コンテキストのみを指定してLayoutInflaterを取得するにはどうすればよいですか? これが可能だと思う理由は、これがArrayAdapterのコンストラクター(コンテキスト、リソース、textViewResourceId、データ配列)に渡されるものと非常に似ているためです。また、ArrayAdapterも、コンテキストのみが指定されたLayoutInflater。 しかし、どうすればできるのでしょうか?

11
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) …

14
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 = …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.