2014-11-04 4 views
0

Я хочу установить всплывающее меню внутри LinearLayout.Всплывающее меню -Как установить программно внутри LinearLayout

Это мой код.

for(int i=0;i<ev.size();i++) 
       { 
        LinearLayout rl1 = new LinearLayout(getActivity()); 
        rl1.setOrientation(LinearLayout.VERTICAL); 
        pum1 = new PopupMenu(getActivity(), view); 
        Event ebn=ev.get(i); 
        CalEvent cal = CalEvent.getCalEvent(ebn.getDescription()); 
        pum.getMenu().add(Menu.NONE,ebn.getColor(),Menu.NONE,ebn.getTitle()); 
        pum.getMenu().add(Menu.NONE,ebn.getColor(),Menu.NONE,cal.event_start); 
        rl1.addView(pum); 
       } 

I'am перед этой error- "Метод addView (View) в тип ViewGroup не применяется для аргументов (POPUPMENU)". Пожалуйста, помогите мне

+0

Почему вы добавляете всплывающее меню внутри LinearLayout? –

+0

@HareshChhelana Я хочу установить границу и цвет для всплывающего меню. Поэтому просто я попытался добавить это внутри макета, и я планировал установить границу и цвет для макета. Потому что у меня есть два данных во всплывающем меню и для каждой итерации он извлекает заголовок и eventstart. Поэтому я хочу отличить это, указав границу фона и цвет для каждой пары. – user3663600

+0

addView() принимает только базовый параметр ViewGroup, а всплывающее меню не является базой ViewGroup, поэтому оно неприемлемо. –

ответ

0

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

В этом случае вы должны создать пользовательский список, в котором вы будете создавать класс адаптера, и в этом классе адаптера вы можете установить всплывающее меню на каждом представлении.

+0

Нет. На самом деле у меня есть календарь. Я создаю события для конкретной даты. Если я создаю несколько событий для определенной даты, тогда я хочу отобразить их как пару заголовков и время начала события. Поэтому, когда я нажимаю на определенную дату, всплывающее окно откроется и отобразит список пары. Просто я хочу различать каждую пару, задавая границу фона и цвет. – user3663600

+0

, так что до сих пор не нужно добавлять эту линейную компоновку. вы делаете неправильно это, вы добавляете представление один за другим в один и тот же объект линейного макета, поэтому он не будет работать. вы должны создать собственный xml, который содержит линейный макет, а затем создав этот пользовательский класс xml.make, и вы можете сделать все необходимые функции. Я надеюсь, что вы получите помощь от этого ответа. –

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