2016-03-03 3 views
0

Я пытаюсь реализовать представление списка для сообщений чата (как WhatsApp)Android ListView и ребенок выбор

мне нужно реализовать механизм выбора на экране списка таким образом, что

я) Длительное нажатие на любом элементе должен запустить режим просмотра списка (должен показать 1 выбранный элемент, 5 элементов selectd и т. д.)

ii) Если режим действия в режиме списка включен, последующие щелчки по дочерним представлениям должны быть удалены из списка элемент должен быть выбран ... (Нажав на изображение, не следует открывать или загружать изображение)

III) Если не в режиме действий, нажав на вложения следует открывать вложения (Нажмите на вложение следует открыть или загрузить вложение, если не выбраны элементы ..)

Пожалуйста, помогите ...

+0

Я пытаюсь нажать на представлении изображения в элементе просмотра списка. Если в режиме действия на изображении изображение не должно обрабатывать вид клика и списка, он должен обрабатывать его ..... – Jithin

ответ

0

вы можете создать класс ClickInterceptor который может обрабатывать как вид и список нажмого слушателя

public class ClickInterceptor implements 
     View.OnClickListener, 
     ListView.OnItemClickListener, 
     ListView.OnItemLongClickListener 

, что приводит к реализации всех различные методов клик вам нужны.

Таким образом, вид и ваш список listlistener/itemclicklistener могут принимать объекты этого класса.

Теперь в классе ClickInterceptor вы можете написать код, который может отслеживать и решать, что произойдет, в соответствии с состоянием ActionMode.

0

общественный класс ChatAttachment extends LinearLayout { закрытый Контекст mContext; public ChatAttachment (контекст контекста, AttributeSet attrs) { super (context, attrs); mContext = context; init(); }

public ChatAttachment(Context context, AttributeSet attrs, int defStyleAttr) { 
    super(context, attrs, defStyleAttr); 
    mContext = context; 
    init(); 
} 

private void init(){ 

} 

@Override 
public boolean onInterceptTouchEvent(MotionEvent ev){ 

    if(ChatListAdapter.mActionModeEnabled){ 
     return true; 
    } 

    return false; 
} 

}

Смежные вопросы