listviewでnotifyDataSetChangedを使用すると、onClickリスナーは数回だけ応答します。その後、onClickリスナーは機能しません。Android listview onClickが動作しない
listitemがnotifyDataSetChangedの場合は、一部のチャージが残っていると思います。
修正方法を教えてください。以下
コード:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.list_row, null);
holder.mIconImg = customFindViewById(convertView, R.id.icon_img);
holder.mTitleText = customFindViewById(convertView, R.id.item_title_text);
holder.mDescText = customFindViewById(convertView, R.id.item_descr_text);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
HashMap<IField, Object> item = getItem(position);
String imageUrl = getHashmap(item, ItemField.ICON_URL);
Drawable image = ImageCache.getImage(imageUrl);
if (image == null) {
ImageDownloadTask task = new ImageDownloadTask(holder.mIconImg, null, null);
holder.mIconImg.setImageResource(R.drawable.error_ic);
try {
task.execute(Utility.getHashmap(item, ItemField.ICON_URL));
} catch (RejectedExecutionException e) {
e.printStackTrace();
}
} else {
holder.mIconImg.setImageDrawable(image);
}
String title = getHashmap(item, ItemField.CATEGORY_LIST_TEXT);
holder.mTitleText.setText(title);
this.notifyDataSetChanged();
mItemList.get(position);
// convertView.getFocusables(position);
// convertView.clearFocus();
convertView.setEnabled(true);
return convertView;
}
このコードではclickListenerが存在しないようです...あなたの質問をもう少しはっきりと書き直す必要があるか、まったく関係がないように見えるコードを投稿したことがあります。 – FoamyGuy
すでに述べたように、あなたのコードはclickListenerとは何の関係もありません。リストビューの各行にどのように値を設定するかを表示するだけです。 –
また、ListViewを扱うときは、通常setOnItemClickListenerがsetOnClickListenerの代わりに使用されます。 – Shellum