С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Muhammad97
10 / 10 / 1
Регистрация: 10.11.2013
Сообщений: 238
#1

Контекстное меню в ListView - Программирование Android

17.08.2014, 05:43. Просмотров 1749. Ответов 6
Метки нет (Все метки)

Здравствуйте,выложите пожалуйста рабочий код контекстного меню для listview и напишите пожалуйста куда вставлять этот код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2014, 05:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Контекстное меню в ListView (Программирование Android):

ListView и контекстное меню - Программирование Android
Подскажите как сделать так, чтобы контекстное меню знало пункт listview из которого оно было вызвано? Пытался сохранить пункт в...

Контекстное меню не работает - Программирование Android
Доброго времени суток. Я отбираю записи из базы и формирую список в ListView, насаживая на каждый элемент событие onClick, чтобы...

Контекстное меню на ExpandableListView - Программирование Android
Здравствуйте! подскажите как правильно определить пункт ExpandableListView (группа или элемент группы) на котором было вызвано...

Контекстное меню вместо опционального - Программирование Android
Здравствуйте! Подскажите, возможно ли сделать так, чтобы при нажатии кнопки меню на телефоне, вместо опционального меню открывалось...

Хочу сделать подписи к меню, меню у меня создано ListView, есть два массива, как их передать в адаптер? - Программирование Android
public class MainMenu extends ListActivity { public void onCreate(Bundle cicle) { super.onCreate(cicle); ...

При долгом нажатии вывести контекстное меню - Программирование Android
Здравствуйте, подскажите, пожалуйста, как сделать так, чтобы при долгом нажатии на адресную строку, выводилось контекстное меню. Браузер...

6
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
17.08.2014, 12:51 #2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment, null);      
        listView = (ListView) view.findViewById(R.id.listView1);
        ...
        registerForContextMenu(listView);
        return view;
    }
 
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
    }
 
    public boolean onContextItemSelected(MenuItem item) {
        Log.d("", "onContextItemSelected");
        if (item.getItemId() == ADD_REMOVE_FAVORITE) {          
            // получаем из пункта контекстного меню данные по пункту списка
            AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item.getMenuInfo();
            Log.d("", "" + acmi.id);
        }
        return super.onContextItemSelected(item);
    }
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
17.08.2014, 13:12 #3
а как привязать контекстное меню не ко всему ListView а только к отдельному пункту?
0
Muhammad97
10 / 10 / 1
Регистрация: 10.11.2013
Сообщений: 238
17.08.2014, 14:11  [ТС] #4
Появилась новая проблема. Я делаю программу заметок. Когда я удерживаю палец на пункте списка появляется контекстное меню, я выбираю пункт удалить, но почему-то он не удаляется корректно.

Вот код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[@Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
    {
        getMenuInflater().inflate(R.menu.list_item_context_menu , menu);
        super.onCreateContextMenu(menu, v, menuInfo);
    }
    @Override 
    public boolean onContextItemSelected(MenuItem item) { 
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo();
    switch (item.getItemId()) { 
 
        case R.id.delete_item: 
 
            db.delete("mytable", "id = "+ info.position, null); //по идее  должна удаляться из базы данных 
            notes_array.removeAll(notes_array); //очищаем коллекцию
            arrayfromtable(); //добавляем в коллекцию элементы из базы данных
            lvAdapter.notifyDataSetChanged(); //обновляем listview
            Toast.makeText(MainActivity.this, "Заметка удалена " + info.position, Toast.LENGTH_LONG).show();
    return true; 
        case R.id.edit_item: 
            
            return true;
    default:
    return super.onContextItemSelected(item); }
        }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public void arrayfromtable(){
        db = dbHelper.getWritableDatabase();
        
        String orderBy = shared_preferences.getString("orderBy", "last_date");
        c = db.query("mytable", null, null, null, null, null, orderBy);
 
        if (c.moveToFirst()) {
 
            int title_index = c.getColumnIndex("title");
            int id_index = c.getColumnIndex("id");
 
            do {
                notes_array.add(c.getString(title_index)); //заполняем коллекцию
                notes_id_array.add(c.getInt(id_index));
            } while (c.moveToNext());
        } else{
 
            c.close();
        }
    }
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
17.08.2014, 20:33 #5
Вот здесь аналогичная проблема, Чтение данных из бд в listview
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
17.08.2014, 20:44 #6
а можно привязать контекстное меню именно к определенному пункту ListView??для этого нужно использовать id пункта ListView или как можете привести фрагмент кода?
0
Yushka
4 / 4 / 1
Регистрация: 24.07.2013
Сообщений: 80
17.08.2014, 22:27 #7
yura91, вроде по ссылке сообщения Rube есть такой фрагмент.
0
17.08.2014, 22:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2014, 22:27
Привет! Вот еще темы с ответами:

Как реализовать трехуровневое меню в ListView? - Программирование Android
Здравствуйте!Как вообще реализуются такие вещи в приложениях?Есть список меню из 4-х пунктов созданный с помощью ListView. Cамо собой...

Выпадающее меню для каждого пункта ListView - Программирование Android
Здравствуйте! Как реализовать подобное меню в списке? Я придумал только с использованием spinner-а в каждом item's view-е, но...

ListView. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.