私は、左側にimageviewを持つlistViewを持っています。私がしたいのは、 imageViewを押すと現在の行を選択し、もう一度押すと行を選択解除します。現在のコードでは、imageViewをクリックしたときにperformLongClick()で行を選択できますが、現在の行は選択されていません。ランダムであるようだ。事前リストビューで行を選択する方法ImageViewを押すだけです
1
A
答えて
0
ListView
それ自己clikcable
と別の クリッカブル内部クリッカブルを使用してpublic View getView(int position, View convertView, ViewGroup parent) { final HmViewHolder holder; row = convertView; if (row == null) { row = inflater.inflate(R.layout.list_item, parent, false); holder = new HmViewHolder(); holder.title = (TextView) row.findViewById(R.id.title); holder.contact = (ImageView) row.findViewById(R.id.imageview); row.setTag(holder); } else { holder = (HmViewHolder) row.getTag(); } holder.contact.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (multiMode) { row.getTag(); row.setSelected(!row.isSelected()); holder.contact.setImageResource(R.drawable.ic_check_circle_black); } else { row.performLongClick(); holder.contact.setImageResource(R.drawable.ic_contact); } } }); return row; }
おかげで良いではありません。したがって、 が好きなら、環境を混乱させ、 が正確に何をクリックするかを理解できないため、リストビュー内のアイテム (ImageViewとTextView)にclicklistenerを設定しない方がよいでしょう。したがって、onclickは listviewでのみ使用してください。
0
このトピックについてはChris Banes's blogpostです。
読んでみてください。あなたのトラブルはすべて解決されたと思います。私の意見では、チェックリストを作成するためのバスト方法です。
0
このような行レイアウトxmlでクリック可能にImageViewを設定します。
<ImageView
android:clickable="true"/>
0
//ViewHolder Class
class ViewHolder {
TextView tv_details;
RelativeLayout rl_expense_list;
ImageView Iv_close;
}
// `here is getView Method`
public View getView(final int position, View convertView, ViewGroup parent)
{ final ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
LayoutInflater inflater= (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.expenses_list_row, parent, false);
viewHolder.rl_expense_list = (RelativeLayout) convertView.findViewById(id.rl_expense_list);
viewHolder.tv_details = (TextView) convertView.findViewById(id.tv_details);
viewHolder.bt_close = (ImageView) convertView.findViewById(id.iv_close);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.Iv_close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog alertDialog = new AlertDialog.Builder(ExpensesList.this).create();
alertDialog.setTitle("Expense List");
alertDialog.setMessage("Do You Want To Delete This Expense List?");
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
expensesDataModels.remove(position);
Customer_Feedback.expensesDataModels = expensesDataModels;
notifyDataSetChanged();
}
});
alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
alertDialog.dismiss();
}
});
alertDialog.show();
}
}
+0
このコードは私のために働いています –
関連する問題
- 1. SQLで2008年だけのデータを選択する方法
- 2. jQueryで兄弟を1つだけ選択する方法は?
- 3. マッチで特定のパーツだけを選択する方法は?
- 4. クラスリストで子供を1人だけ選択する方法
- 5. ボタンを押して行を選択する方法は?
- 6. セクションヘッダーでリストビュー内のアイテムを選択する方法ネイティブで
- 7. AndroidをListViewで選択し、選択するボタンを押してください
- 8. JPopupMenu内で左クリックするだけでJMenuItemを選択する方法は?
- 9. Altキーを1回押すだけでキー押下を検出する方法
- 10. QListViewで行を選択する方法
- 11. UIPickerViewで行を選択する方法
- 12. アンドロイドのスピナー選択でリストビューをリフレッシュする方法
- 13. Android Kotlin多肢選択リストビューでチェックボックスをチェックする方法
- 14. 私のリストビューでオブジェクトを選択する方法
- 15. リストビューで選択した項目を確認する方法
- 16. リストビューで項目を選択する方法
- 17. リストビューで選択したアイテムIDを取得する方法
- 18. リストビューでバインドされたアイテムを選択する方法
- 19. です。一度だけ選択するオプションを設定する方法
- 20. リストビューだけでなく、全体ビューをスクロールする方法は?
- 21. リストビューで1列だけをリフレッシュする方法
- 22. arraylistの一部だけでリストビューを設定する方法
- 23. PrimeNG Datatableで行を選択/選択解除する方法は?
- 24. カスタムチェックボックスボタンでテーブルビューの行選択を選択する方法は?
- 25. エスプレッソでリストビューを選択するには?
- 26. データとショーを1つだけ選択する方法は?
- 27. リストビュー:戻るボタンを押した後でハイライト/選択したままにする方法は?
- 28. ボタンを押すだけで機能を実行する
- 29. 重複する行だけを選択する
- 30. 1データだけを選択しますが、行数はまだ3です。
あなたがwouldn't onItemClickListenerを使用したくない理由はありますか? https://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener.html –
@ D.O。 POJOクラスの実装を使用してこれを解決できます。 – Nisarg