Урок 42. Список - ListView
-
- Сообщения: 10
- Зарегистрирован: 14 дек 2012, 05:19
Re: Урок 42. Список - ListView
Эта функция всё время 0 возвращает, каким бы ни был цвет. В доках пишут "Returns The known solid color background for this view, or 0 if the color may vary".
UPDATE: кажется, это реально какая-то проблема. Вот человек спрашивает сходное, а ему объясняют, что он в принципе не может получить цвет бэкграунда, поскольку его не существует, только если сам же его не задал...
https://groups.google.com/forum/?fromgr ... RC66UUQ73c
И как так жить... Нет, ну можно придумать какой-нибудь костыль конкретно для моей ситуации - например играть с прозрачностью, получая за счёт этого цвет вьюшки, "чуть отличный" от цвета её фона, но всё равно как-то печально.
UPDATE: кажется, это реально какая-то проблема. Вот человек спрашивает сходное, а ему объясняют, что он в принципе не может получить цвет бэкграунда, поскольку его не существует, только если сам же его не задал...
https://groups.google.com/forum/?fromgr ... RC66UUQ73c
И как так жить... Нет, ну можно придумать какой-нибудь костыль конкретно для моей ситуации - например играть с прозрачностью, получая за счёт этого цвет вьюшки, "чуть отличный" от цвета её фона, но всё равно как-то печально.
Re: Урок 42. Список - ListView
та можно получить цвет вьюшки, вы наверное пытаетесь его получить тогда когда она ещё не успелась прорисоваться
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 10
- Зарегистрирован: 14 дек 2012, 05:19
Re: Урок 42. Список - ListView
Нет, я совершенно точно пробую это когда она точно есть (т.е. читаю, отладки ради, по клику на кнопочку). Перепробовал так со всеми вьюшками (и тем, которым вообще нигде цвет не задаю, и тем, кому прописываю бэкграунд в xml) - везде нули. Наверное, это какой-то другой цвет, не тот который показывается ))) Хотя, судя по фразе в андроидовских доках, этот цвет "may vary", т.е. видимо система понятия не имеет, какой он сейчас, лол.
Re: Урок 42. Список - ListView
Спасибо, разобралсяrezak90 писал(а):для этого нужно менять данные с которыми связан адаптер, потом дать команду адаптеру сделать апдейт notifyDataSetChanged()max546 писал(а):Здравствуйте, подскажите пожалуйста как программно добавить и отобразить элемент в списке, допустим, я нажимаю на кнопку и в списке появляется новая позиция с содержанием из переменной- x;. Желательно в коде, уже третий день по гуглам лазию, хотя сам понимаю что решение не такое и сложное. Спасибо
Для добавления элемента, вместо массива удобнее использовать ArrayList
Re: Урок 42. Список - ListView
Здравствуйте!
У меня есть примерно вот такая разметка:
ListView сворачивается до 2х элементов и остальные не видно, что можно сделать?
Почитала предыдущие комменты, вставляла где можно layout_weight="1", но так и поборола проблему(
Подскажите, пожалуйста!
У меня есть примерно вот такая разметка:
Код: Выделить всё
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="some text"
/>
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</ListView>
</LinearLayout>
</ScrollView>
ListView сворачивается до 2х элементов и остальные не видно, что можно сделать?
Почитала предыдущие комменты, вставляла где можно layout_weight="1", но так и поборола проблему(
Подскажите, пожалуйста!
Re: Урок 42. Список - ListView
Список в Scroll обычно не вставляют. Может есть другие варианты, как разметку сделать?
Re: Урок 42. Список - ListView
Я уже почитала, что гугл такое не одобрямс...
Решила проблему 2мя способами
1) Там, где внизу списка только кнопка, добавила её в футер.
2) Там, где список посреди огромного числа данных, отказалась от ListView и вручную создаю строчки... Конечно, не так удобно, как с адаптером, но хоть как-то =( Если есть более правильный способ - буду благодарна за советы)
Решила проблему 2мя способами
1) Там, где внизу списка только кнопка, добавила её в футер.
2) Там, где список посреди огромного числа данных, отказалась от ListView и вручную создаю строчки... Конечно, не так удобно, как с адаптером, но хоть как-то =( Если есть более правильный способ - буду благодарна за советы)
Re: Урок 42. Список - ListView
Обмен пунктами между ListView.
Доброго времени суток, помогите начинающему разработчику. Есть задача: с одного списка нужно перетаскивать элементы в другой, как и с помощью чего можно реализовать данную задачу?Скрин по ссылке....http://s42.radikal.ru/i095/1302/e0/31b46bb4aa9d.png
Помогите плз!!!!!!
Доброго времени суток, помогите начинающему разработчику. Есть задача: с одного списка нужно перетаскивать элементы в другой, как и с помощью чего можно реализовать данную задачу?Скрин по ссылке....http://s42.radikal.ru/i095/1302/e0/31b46bb4aa9d.png
Помогите плз!!!!!!
Re: Урок 42. Список - ListView
Всем доброго времени суток. Возникла следующая проблема...
Мне нужно заполнить ListView каждой новой строчкой из String. Но не просто заполнить, а еще и отобрать нужное значение после определенного символа. Вот допустим у меня вот что в тексте:
Так вот, в случае с, например первой строкой, мне нужно отобразить в первом элементе listview "Linux Foundation 2.0 root hub". С этим я справился вот так:
И это не проблема отсеять так все ненужное.
Проблема в том, как каждую новую строчку занести в массив, но перед этим ее "просеять" через String str1 = (line.substring(line.indexOf("ID") + 13));
А потом уже из массива я конечно смогу заполнить listview.
Мне нужно заполнить ListView каждой новой строчкой из String. Но не просто заполнить, а еще и отобрать нужное значение после определенного символа. Вот допустим у меня вот что в тексте:
- Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1d6b:0002 Device1
Bus 001 Device 003: ID 1d6b:0002 Device2
Bus 001 Device 004: ID 1d6b:0002 Device3
Так вот, в случае с, например первой строкой, мне нужно отобразить в первом элементе listview "Linux Foundation 2.0 root hub". С этим я справился вот так:
Код: Выделить всё
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = reader.readLine();
String str1 = (line.substring(line.indexOf("ID") + 13));
mnt_info.setText(str1);
Проблема в том, как каждую новую строчку занести в массив, но перед этим ее "просеять" через String str1 = (line.substring(line.indexOf("ID") + 13));
А потом уже из массива я конечно смогу заполнить listview.
Re: Урок 42. Список - ListView
регулярки нормальные написать нужно для нормального парсинга
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 42. Список - ListView
А можно по подробнее? Пример можете привести?rezak90 писал(а):регулярки нормальные написать нужно для нормального парсинга
Re: Урок 42. Список - ListView
что бы овладеть знанием регулярных выражений нужно иметь нестандартный состав ума))) я таким не владею... можете сами попробовать, примеров полно
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 59
- Зарегистрирован: 02 фев 2013, 00:03
Re: Урок 42. Список - ListView
Может как то так: String str1 = (line.substring(33, line.length()));
Re: Урок 42. Список - ListView
Ну я так же отбираю значения. Это не проблема. Проблема в том, как сделать такой цикл, который сможет построчно заносить текст в массив, который в свою очередь заполнит listview.Озорная Свинья писал(а):Может как то так: String str1 = (line.substring(33, line.length()));
Re: Урок 42. Список - ListView
во-первых так сразу выскочит IndexOutOfBoundsExceptionОзорная Свинья писал(а):Может как то так: String str1 = (line.substring(33, line.length()));
во-вторых, а если необходимая строка будет начинаться с 34 символа?
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 42. Список - ListView
Вот именно! У меня очень хороший вариант отбирать значние после "ID". Зачем новые? Проблема была не в этом. Мне кто-нибудь сможет помочь?rezak90 писал(а):во-первых так сразу выскочит IndexOutOfBoundsExceptionОзорная Свинья писал(а):Может как то так: String str1 = (line.substring(33, line.length()));
во-вторых, а если необходимая строка будет начинаться с 34 символа?
-
- Сообщения: 59
- Зарегистрирован: 02 фев 2013, 00:03
Re: Урок 42. Список - ListView
>>во-первых так сразу выскочит IndexOutOfBoundsException
почему?
>>>во-вторых, а если необходимая строка будет начинаться с 34 символа?
судя по тому что выложено выше с 33 ну или с 34, я тут щетал может ошибся
>>>>Проблема была не в этом. Мне кто-нибудь сможет помочь?
парси значение и заноси в массив, что у тебя не получается?
почему?
>>>во-вторых, а если необходимая строка будет начинаться с 34 символа?
судя по тому что выложено выше с 33 ну или с 34, я тут щетал может ошибся
>>>>Проблема была не в этом. Мне кто-нибудь сможет помочь?
парси значение и заноси в массив, что у тебя не получается?
Re: Урок 42. Список - ListView
Дак вот в том-то и дело, что не догоняю как Ну неопытный я еще - только учусь. А задача стоит и ее надо решить. Есть текст со строками. Как сделать цикл, который будет заносить в массив отпарсенные значения? Отпарсить я могу и здесь мне не нужны регулярки - тут все просто, но как текст из каждой строки отпарсить и ЗАНЕСТИ В МАССИВ? Да, знаю это вроде просто, но я догнать не могу....Озорная Свинья писал(а):>>во-первых так сразу выскочит IndexOutOfBoundsException
почему?
>>>во-вторых, а если необходимая строка будет начинаться с 34 символа?
судя по тому что выложено выше с 33 ну или с 34, я тут щетал может ошибся
>>>>Проблема была не в этом. Мне кто-нибудь сможет помочь?
парси значение и заноси в массив, что у тебя не получается?
-
- Сообщения: 59
- Зарегистрирован: 02 фев 2013, 00:03
Re: Урок 42. Список - ListView
String str[] = new String[10];
for (int i = 0; i <= 9; i++) {
str = line.substring(...);
}
как то так, хотя я тоже не опытный)))
for (int i = 0; i <= 9; i++) {
str = line.substring(...);
}
как то так, хотя я тоже не опытный)))
Re: Урок 42. Список - ListView
Озорная Свинья писал(а):String str[] = new String[10];
for (int i = 0; i <= 9; i++) {
str = line.substring(...);
}
как то так, хотя я тоже не опытный)))
У меня так не то что-то получилось, но с помощью вас я смог догнать до рабочего метода. Вот как он выглядит:
Код: Выделить всё
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
List<String> list = new ArrayList<String>();
String strLine;
while ((strLine = reader.readLine()) != null) {
strLine = (strLine.substring(strLine.indexOf("ID") + 13));
list.add(strLine);
}
// создаем адаптер
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
// присваиваем адаптер списку
lv1.setAdapter(adapter);