В настоящее время у меня есть строка ListView
. Щелчок по любой области в строке даст ListView
событий кликов.Строка ListView не может быть нажата после добавления кнопки в строку
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
this.getListView().setMultiChoiceModeListener(new ModeCallback());
this.getListView().setOnItemClickListener(new ListViewOnItemClickListener());
} else {
// http://stackoverflow.com/questions/9754170/listview-selection-remains-persistent-after-exiting-choice-mode
this.getListView().setOnItemLongClickListener(new ListViewOnItemLongClickListener());
this.getListView().setOnItemClickListener(new ListViewOnItemClickListener());
}
Теперь, для каждой строки, я хотел бы добавить небольшую кнопку. Нажатие на маленькую кнопку даст событие нажатия кнопки, отличное от ListView
оригинального события кликов.
В моей ArrayAdapter
, я использую, чтобы иметь
public View getView(int position, View convertView, ViewGroup parent) {
View rowView = convertView;
if (rowView == null) {
LayoutInflater inflater = activity.getLayoutInflater();
rowView = inflater.inflate(R.layout.watchlist_row_layout, null);
...
}
Button button = (Button)rowView.findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Utils.showLongToast("BUTTON CLICK");
}
});
Нажатие на кнопку позволит получить события нажатия кнопки. Тем не менее, нажатие на область, отличную от кнопки, больше не приведет к событию кликов ListView
.
Могу ли я узнать, почему это так? Есть ли способ разрешить это?
Удивительно, вы спасли мою жизнь :) –