Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Leks2
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 105
#1

Добавление пункта в ListView - Программирование Android

10.01.2015, 14:24. Просмотров 1253. Ответов 14
Метки нет (Все метки)

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

Анимация одного пункта в ListView - Программирование Android
Собственно, есть у меня список контактов в ListView, заполняемом моим адаптером. При движении справа-налево по контакту а меня происходит...

ListView подсветка выделенного пункта - Программирование Android
Всем доброго времени суток! Понимаю, вопрос нубский, но никак не получается сделать navigation drawer с listview, в котором...

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

ListView и простой пример определения нажатого пункта - Программирование Android
Здравствуйте! Брошу на лайоут ListView и Button Набью на listView две строчки - "Москва", "Питер". Как определить какая из них...

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

Как обратиться к элементу (button) внутри пункта списка (ListView) - Программирование Android
Здравствуйте! Помогите, пожалуйста Есть активити с ListView. В каждом пункте списка есть пару TextView и один Button. Как и где ...

14
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
10.01.2015, 16:31 #2
К первому списку прикрутить AdapterView.OnItemLongClickListener через setOnItemLongClickListener.
Ну и в его методе onItemLongClick взять нужную информацию из элемента списка, запулить в источник данных для второго списка и намекнуть адаптеру второго списка, что данные-то изменились...
1
Leks2
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 105
10.01.2015, 17:08  [ТС] #3
Armagedo, подскажите пожалуйста кодом ))
0
BigOblom
118 / 118 / 7
Регистрация: 30.06.2010
Сообщений: 444
10.01.2015, 19:12 #4
Leks2, сам еще совсем новичек, но вот тебе начало) Дальше незнаю как. У меня стоит Android Studio.

Java
1
2
3
4
5
6
7
8
9
10
11
String[] myarray = new String[]{"Line 1","Line 2","Line 3","Line 4","Line 5"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myarray);
        ListView lv1 = (ListView)findViewById(R.id.listView);
        lv1.setAdapter(adapter);
        lv1.setOnItemLongClickListener( new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                //Тут пишете код получения значения из первого ListView и передачу второму
                return false;
            }
        });
0
Leks2
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 105
10.01.2015, 21:15  [ТС] #5
BigOblom, да я и сам новичек ))) ,я только сделал по своему за место listview ,сделал gridview c адаптером
Java
1
2
3
GridView gridView = (GridView) view.findViewById(R.id.grid_view);
gridView.setAdapter(adp);
registerForContextMenu(gridView);
и присвоил ему ContextMenu
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
              ContextMenu.ContextMenuInfo menuInfo) {
           
         menu.add(Menu.NONE,CONTEXT_CREATE,Menu.NONE,  "Добавить");
 
    }
 
    @Override
    public boolean onContextItemSelected(MenuItem item) {
          AdapterView.AdapterContextMenuInfo info= (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
           int pos = info.position;
              switch(item.getItemId()) {
                  case CONTEXT_CREATE:
                  Log.i(TAG, "Позиция = " +pos);
                   return true;
        }
             return super.onContextItemSelected(item);
    }
нашел позицию по нажатию ContextMenu теперь хочу перекинуть их в другой адаптер

Добавлено через 28 минут
Может ,кто подскажет ,что делать дальше?
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
10.01.2015, 21:52 #6
теперь хочу перекинуть их в другой адаптер
который находится в другой активити...
Осталось почитать, как передавать данные между активитями и "запускать" методы в другой активити
0
BigOblom
118 / 118 / 7
Регистрация: 30.06.2010
Сообщений: 444
10.01.2015, 21:58 #7
Leks2, ну перекидывай через Intent, да лови на втором активити.
Первое активити, по нажатию на итем
Java
1
2
3
Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
intent.putExtra("mylist", "тут значение которое перекидываешь");
startActivity(intent);
Второе активити, в oncreate принимаешь
Java
1
String MyString = getIntent().getExtras().getString("mylist");
0
Leks2
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 105
10.01.2015, 22:04  [ТС] #8
Armagedo,ок

Добавлено через 2 минуты
BigOblom,
Цитата Сообщение от BigOblom Посмотреть сообщение
intent.putExtra("mylist", "тут значение которое перекидываешь")
"тут значение которое перекидываешь" это значит нужно переменную +pos перекидывать?
0
BigOblom
118 / 118 / 7
Регистрация: 30.06.2010
Сообщений: 444
10.01.2015, 22:06 #9
Leks2, ну какие данные вам нужно перекинуть на второй ListView.
0
Leks2
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 105
10.01.2015, 23:31  [ТС] #10
BigOblom, переменную pos,чтоб во втором активити появилась картинка под этой же позиции в gridview списке

Добавлено через 1 час 4 минуты
Теперь у меня во втором активити Ошибка The method getIntent() is undefined for the type FavoritApater и
Java
1
getIntent();
подчеркнуто красной линией
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
12.01.2015, 12:35 #11
context.getIntent()
getActivity.getIntent()

Добавлено через 2 минуты
А зачем куда то передавать переменные, когда при вызове второй активности адаптер уже подгрузит обновленные данные? Или у вас разные для активностей данные?
0
Leks2
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 105
12.01.2015, 15:57  [ТС] #12
Rube, спасибо за ответ,все равно подчеркнуто ,может потому что я вызывал в класс public class FavAdapater extends BaseAdapter и я сделал так
Java
1
Activity activity = (Activity) mContext;
потом уже
Java
1
2
Intent i = activity.getIntent();
 int pos = i.getExtras().getInt("id");
и тогда ошибка ушла,но теперь при добавлении Intent i = activity.getIntent(); int pos = i.getExtras().getInt("id"); у меня приложение стало закрываться

Добавлено через 3 минуты
я вообще хочу сделать при нажатии на ContextMenu можно было добавить картинку в другой список GridView тоесть в избранное ,как только это сделать не могу
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
13.01.2015, 08:41 #13
и тогда ошибка ушла,но теперь при добавлении Intent i = activity.getIntent(); int pos = i.getExtras().getInt("id"); у меня приложение стало закрываться
Вот это я вообще не знаю что такое Activity activity = (Activity) mContext
поэтому скорее всего activity = null


Попробую объяснить, как я (стаж 6 мес.) выхожу из ситуации, когда в классе нельзя вызвать методы класса Activity:
При вызове этого класса из другого передаю в параметрах this, например:
Java
1
startActivity(new Intent(this, ActvitySettings.class));
А в принимающем классе ActvitySettings присваиваю его в конструкторе
Java
1
2
3
4
5
public class ActvitySettings {
    Context context;
    public ActvitySettings (Context context) {      
        this.context = context;
...
или просто в классе вызываю метод
Java
1
2
3
4
5
this.context = getApplicationContext()
// тогда работает
context.getIntent()
// или можно так
getActivity().getIntent()
Добавлено через 6 минут
Цитата Сообщение от Leks2 Посмотреть сообщение
я вообще хочу сделать при нажатии на ContextMenu можно было добавить картинку в другой список GridView тоесть в избранное ,как только это сделать не могу
Я так понимаю это однотипные списки? В таком случае у вас костыль какой то получается, я сперва тоже так делал. Потом научился фрагментам. Т.е. в одной активити разные экраны (или табы). В итоге получилось приложение с табами и с выдвигалкой слева.
0
Leks2
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 105
13.01.2015, 16:01  [ТС] #14
[Rube, я вчера тоже думал об фрагментах,чтоб сделать все на одном активити ,незнаю еще что получится
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
13.01.2015, 16:14 #15
Leks2, что там знать, неделя кодинга и гуглинга и все получится.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2015, 16:14
Привет! Вот еще темы с ответами:

ListView: сбивается содержимое ImageView элемента при скроллинге + как сделать выделение пункта списка при нажатии? - Программирование Android
1. Есть свой класс ContactsSimpleCursorAdapter, в методе public void bindView(View view, Context context, Cursor c) которого происходит...

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

Добавление элементов в listview из БД - Программирование Android
Здравствуйте. У меня не выходит выбросить из списка одинаковые элементы. Я из БД вытаскиваю номера групп, которые соответственно...

Добавление нескольких элементов в ListView - Программирование Android
Не могу разобрался с ListView.Есть несколько адаптеров как их добавить в ListView?


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
13.01.2015, 16:14
Ответ Создать тему
Опции темы

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