уроки 28 и 44llexa писал(а):Танцы с бубном при изучении к сожалению не отменить. Три дня пришлось потратить для изучения этого урока, даже не на изучения а на выяснения, что вызывает ошибки и только сейчас под вечер получилось. Так вот выяснилось, хоть запереписывайся и постоянно сохраняй, ошибки порой не исчезают а только добавляютса- но перезагрузка" Эклипс" творит чудеса...
Следущий этап:- подскажите где посмотреть как сделать переход из списка на активити.
PS/ Если не трудно могли бы вы на основании именно этого списка показать/обьяснить как это реализовывается?!!
Урок 42. Список - ListView
Re: Урок 42. Список - ListView
Re: Урок 42. Список - ListView
А откуда берется полоска внизу каждого TextView, где она и что это? Какая - то 9.png?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.
Donald E. Knuth.
Re: Урок 42. Список - ListView
Это относится не к TextView, а к самому ListView. Разделитель, в данном случае по умолчанию, можно установить свой методом setDivider. Вроде так, если я правильно вопрос понял.
Re: Урок 42. Список - ListView
Да спасибо. Полезу внутрь посмотрю что она изсебя представляет.
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.
Donald E. Knuth.
Re: Урок 42. Список - ListView
Здравствуйте. Как я понял ListView можно присвоить только один адаптер, подскажите как можно реализовать экран подобного вида?
http://cs623618.vk.me/v623618530/1b1cf/fItK64dHfkk.jpg
Я к тому не создавать же мне кучу ListView со своими адаптерами и кучу обработчиков к ним.. Может выходом будет ScrollView.. ?
http://cs623618.vk.me/v623618530/1b1cf/fItK64dHfkk.jpg
Я к тому не создавать же мне кучу ListView со своими адаптерами и кучу обработчиков к ним.. Может выходом будет ScrollView.. ?
Re: Урок 42. Список - ListView
ScrollView в данном случае будет нормальным выходом.
- Stashevckiy
- Сообщения: 3
- Зарегистрирован: 10 окт 2014, 11:22
Re: Урок 42. Список - ListView
Ребята, нужна ваша консультация. Есть ListView, который содержит собственный лаяут айтэма. Айтем содержит в себе элементы Button и Text. По нажатию на выше указанную кнопку(не на элемент списка!) происходит добаление нового айтэма в список( т.е., кнопка имеет свой отдельный обработчик нажатия). А проблема, с которой я столкнулся, вот в чем: после добаления очередного пункта в список, все выше лежащие айтемы должны неким образом изменить свое состояние, а именно должна измениться иконка кнопки в каждом элементе списка, расположенного над последним элементом.
Обобщив все выше изложеное, вопрос приобретает такой вид: как можно получить доступ к реальным View - которые содержаться в лаяуте элемента списка для последующего взаимодействия с ними( изменения, обновления и т.д ). Каков вообще правильный механизм нужно использовать в android для осуществления выше указанных действий?
Обобщив все выше изложеное, вопрос приобретает такой вид: как можно получить доступ к реальным View - которые содержаться в лаяуте элемента списка для последующего взаимодействия с ними( изменения, обновления и т.д ). Каков вообще правильный механизм нужно использовать в android для осуществления выше указанных действий?
Re: Урок 42. Список - ListView
правильный механизм - работа с данными. Меняй данные, поменяется список.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- Stashevckiy
- Сообщения: 3
- Зарегистрирован: 10 окт 2014, 11:22
Re: Урок 42. Список - ListView
Пошел по данному пути - все ОК! Спасибо!Foenix писал(а):правильный механизм - работа с данными. Меняй данные, поменяется список.
Re: Урок 42. Список - ListView
приятно общаться с умными и понятливыми!
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 42. Список - ListView
Странно, я вроде не отписывался в этой теме.Foenix писал(а):приятно общаться с умными и понятливыми!
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
- Сообщения: 1
- Зарегистрирован: 25 янв 2015, 20:12
Re: Урок 42. Список - ListView
Добрый день! Подскажите как правильно написать адаптор.
У меня есть уже готовая БД, откуда я для ListView буру данные. Но я как то криво беру и в лист ложатся ссылки на записи в бд, а не сами записи.
результат вывода листвью :
listActivity формируется так :
сам адаптор :
При попытке расширить ListActivity - ругается на то, что layout файл должен содержать стандартный android id =list.
Или правильнее будет расширяться от обычного Activity ?
У меня есть уже готовая БД, откуда я для ListView буру данные. Но я как то криво беру и в лист ложатся ссылки на записи в бд, а не сами записи.
результат вывода листвью :
listActivity формируется так :
Код: Выделить всё
//some code
private List<Movies> movieses;
private QuotesDataSource qDataSource;
//some code
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.quotes_list_iew);
Log.d(TAG, "after open");
(this.qDataSource= new QuotesDataSource((Context)this)).open();
movieses = this.qDataSource.getAllMovies();
this.setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, this.movieses));
//some code
Код: Выделить всё
dataSource :
public class QuotesDataSource {
//some code
private String[] allMoviesColumns;
private SQLiteDatabase database;
private DbHelper dbHelper;
private String TAG;
public QuotesDataSource(final Context context) {
super();
this.allMoviesColumns = new String[] { "_id", "name" };
this.dbHelper = new DbHelper(context);
}
// тут беру все записи из таблицы :
public List<Movies> getAllMovies() {
final ArrayList<Movies> list = new ArrayList<Movies>();
final Cursor query = this.database.query("movies", this.allMoviesColumns, (String)null, (String[])null, (String)null, (String)null, (String)null);
query.moveToFirst();
while (!query.isAfterLast()) {
list.add(this.cursorToMovie(query));
query.moveToNext();
}
query.close();
return list;
}
Код: Выделить всё
public class QuotesAdapter extends BaseAdapter {
private final Context context;
private ArrayList<Movies> objects;
LayoutInflater lInflater;
public QuotesAdapter (Context context, ArrayList<Movies> objects){
super();
this.context = context;
this.objects = objects;
lInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return this.objects.size();
}
@Override
public Object getItem(int position) {
return this.objects.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
view = lInflater.inflate(R.layout.quotes_list_iew, parent, false);
}
final Movies quote = this.objects.get(position);
final TextView textView = new TextView(this.context);
// view.findViewById(R.id.quotesListView).setText(quote.getName().toString());
return (View)textView;
}
}
Или правильнее будет расширяться от обычного Activity ?
Re: Урок 42. Список - ListView
Помогите пжл разобраться
smoothScrollToPosition() исправно прокручивает на android 2.1 и 2.3, но бездействует на android 4.1 и 4.3
smoothScrollToPosition() исправно прокручивает на android 2.1 и 2.3, но бездействует на android 4.1 и 4.3
Re: Урок 42. Список - ListView
1. Можно ли, что б при нажатии (нажал - отпустил, не зажимал) на пункт списка, менялся его фон, причём на разные пункты списка, разный фон?
(Пожалуйста, если не затруднит напишите с кодом и куда его прописывать. Весь день сижу, не могу разобраться, вроде как то через адаптер можно? Уроки пересматривал, но так и не понял).
Научился "разукрашивать" весь список, а как же всё таки проделывать такое с отдельными пунктами?
2. Можно ли сделать так, что бы одни пункты списка были TextView, а другие Button?
3. Я так понял для одного ListView нужно создавать одно Activity, а можно, что б в одном Activity при нажатии на разные кнопки на экран выводились разные ListView?
4. Сколько пунктов может максимально содержать ListView и будет ли это как то влиять на производительность?
(Пожалуйста, если не затруднит напишите с кодом и куда его прописывать. Весь день сижу, не могу разобраться, вроде как то через адаптер можно? Уроки пересматривал, но так и не понял).
Научился "разукрашивать" весь список, а как же всё таки проделывать такое с отдельными пунктами?
2. Можно ли сделать так, что бы одни пункты списка были TextView, а другие Button?
3. Я так понял для одного ListView нужно создавать одно Activity, а можно, что б в одном Activity при нажатии на разные кнопки на экран выводились разные ListView?
4. Сколько пунктов может максимально содержать ListView и будет ли это как то влиять на производительность?
Re: Урок 42. Список - ListView
Всем привет! Подскажите пожалуйста, что происходит с элементами списка которых не видно? Если элементов списка будет 1000, адаптер будет после создания хранить их всех в памяти, или созданные элементы после прокрутки будут удаляться?
Re: Урок 42. Список - ListView
Будет заменяться контент. Текст вью как создался так и будет жить, а стринги из item будут подставляться новые.Rikie писал(а):Всем привет! Подскажите пожалуйста, что происходит с элементами списка которых не видно? Если элементов списка будет 1000, адаптер будет после создания хранить их всех в памяти, или созданные элементы после прокрутки будут удаляться?
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Урок 42. Список - ListView
Спасибо! Теперь все стало на свои места)doter.ua писал(а): Будет заменяться контент. Текст вью как создался так и будет жить, а стринги из item будут подставляться новые.
Re: Урок 42. Список - ListView
http://stackoverflow.com/questions/1591 ... it-handled
вот тут на картинке описано что происходит.
вот тут на картинке описано что происходит.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 42. Список - ListView
Добрый день, подскажите, пожалуйста, в какую сторону копать.
Заткнулся на реализации экрана : есть записи в базе данных - учет событий и объема выпитой воды. Если вытаскивать их в ListView, то будет что-то такого вида:
2015-03-30 10:00 вода 300 мл
2015-03-30 11:00 чай 200 мл
2015-03-30 11:30 чай 350 мл
2015-04-01 09:00 сок 200 мл
Это все получается. Есть база. Есть asynctaskloader. Есть cursoradapter.
Хотелось бы получить список с суммой каждого дня, например:
2015-03-30 всего:1050 мл.
10:00 вода 300 мл
11:00 чай 200 мл
11:30 чай 350 мл
2015-04-01 всего:200л.
09:00 сок 200 мл
И тут мозг сломался. Это реализуется в ListView или нет? Если да, то можно предположить, вытягивать из базы данные, суммировать их, формировать arralist и подсовывать его ArrayListAdapter. А в getview делать таблицу и напихивать ее конкретными значениями. Но тогда элементы ListView будут разного размера... И как тогда реализовывать onitemclicklestener на каждом элементе, что бы изменить данные?
Заткнулся на реализации экрана : есть записи в базе данных - учет событий и объема выпитой воды. Если вытаскивать их в ListView, то будет что-то такого вида:
2015-03-30 10:00 вода 300 мл
2015-03-30 11:00 чай 200 мл
2015-03-30 11:30 чай 350 мл
2015-04-01 09:00 сок 200 мл
Это все получается. Есть база. Есть asynctaskloader. Есть cursoradapter.
Хотелось бы получить список с суммой каждого дня, например:
2015-03-30 всего:1050 мл.
10:00 вода 300 мл
11:00 чай 200 мл
11:30 чай 350 мл
2015-04-01 всего:200л.
09:00 сок 200 мл
И тут мозг сломался. Это реализуется в ListView или нет? Если да, то можно предположить, вытягивать из базы данные, суммировать их, формировать arralist и подсовывать его ArrayListAdapter. А в getview делать таблицу и напихивать ее конкретными значениями. Но тогда элементы ListView будут разного размера... И как тогда реализовывать onitemclicklestener на каждом элементе, что бы изменить данные?
Последний раз редактировалось pro2on 03 апр 2015, 14:06, всего редактировалось 1 раз.
Re: Урок 42. Список - ListView
Делаешь так. Формируй курсор запросом (это самое важное, никаких подсчетов и перегонок в массивы) так, чтоб в нем еще были нужные колонки с суммами, т.е суммы фактически будут повторяться для каждой группы в твоем курсоре. Обязательно отсортируй записи.
Сформируй xml строки состоящее из 2 строк - основная, и суммирование под ней. Те два лэйаута. Сделай 1 видимым, а второму gone.
Затем в адаптере в методе getview проверяй следующее значение суммы в курсоре за текущей строкой. Если след. Сумма уже разнится, значит пошла следующая группа. Тогда при переходе ты делаешь 2му лэйауту с суммами visible. Иначе gone.
Таким образом можно формировать и заголовки 'подгрупп'
Сформируй xml строки состоящее из 2 строк - основная, и суммирование под ней. Те два лэйаута. Сделай 1 видимым, а второму gone.
Затем в адаптере в методе getview проверяй следующее значение суммы в курсоре за текущей строкой. Если след. Сумма уже разнится, значит пошла следующая группа. Тогда при переходе ты делаешь 2му лэйауту с суммами visible. Иначе gone.
Таким образом можно формировать и заголовки 'подгрупп'
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198