Страница 1 из 3
Урок 49. SimpleAdapter. Методы SetViewText и SetViewImage
Добавлено: 19 янв 2012, 07:10
damager82
В этом уроке:
- используем методы SetViewText и SetViewImage
Click here to read this article!
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 14 фев 2012, 19:42
lics
А можно это 'android.R.drawable.arrow_down_float' как нибудь указать в xml файле разметки ?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 17 фев 2012, 12:47
damager82
Можно так:
Код: Выделить всё
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/arrow_up_float" />
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 01 мар 2012, 07:54
NobodyCallMeChicken
Добрый день. Помогите пожалуйста разобраться почему приложение падает при запуске. Падает с таким сообщением об ошибке:
"E/AndroidRuntime(1654):java.lang.RuntimeException: Unable to start activity ComponentInfo{com.com/com.com.SimpleAdapterCustomActivity;}: java.lang.ClassCastException: android.widget.LinearLayout"
Код программы и файлы ресурсов такие же как у вас. Последний метод который отрабатывается полностью - это конструктор MySimpleAdapter.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 01 мар 2012, 11:40
damager82
Ошибка в этой строке?
lvSimple = (ListView) findViewById(R.id.lvSimple);
Значит R.id.lvSimple - это у вас ID компонента LinearLayout
Проверьте layout-файл. Скопируйте еще раз содержимое с урока.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 01 мар 2012, 12:09
NobodyCallMeChicken
Скопировал, не помогло. Я не знаю где падает, метод onCreate отрабатывает полностью, судя по логам, поэтому ошибка скорее всего не в этих строчка. И точно такая же ошибка в следующем уроке.
Кстати, извините за офтоп, вы планируете написать статью о том как пользоваться отладчиком eclipse при разработке под Андроид?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 01 мар 2012, 20:25
NobodyCallMeChicken
Спасибо, разобрался в чем проблема. Но вопрос с отладчиком остается актуальным:) Без него совсем тяжело работать, а толковой документации я к сожалению не нашел.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 05 мар 2012, 09:37
damager82
Я сам не особо пользуюсь отладчиком. Больше на логи упираю. Только, если уж совсем непонятно, что не так, тогда пользую.
Но вообще штука, конечно, нужная и полезная. Будет время, попробую сочинить чегонить про отладку.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 16 авг 2012, 19:55
dlnsk
Обнаружил интересный эффект в данном примере:
После выполнения команды
(я поместил ее в onClick добавленой мной кнопки) в строке с нулем цвет нуля и фон картинки рядом становятся красными (точнее они становятся того цвета, который у предыдущего пункта).
Кто-нибудь может объяснить этот эффект?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 17 авг 2012, 08:03
math64
Какая версия андроида? Посмотрел исходники SimpleAdapter для четвёрки - так и должно происходить, в примере ошибка.
Цвет фона нужно устанавливать всегда. Метод суперкласса с ним ничего не делает, так что он должен остаться от предыдущего пункта.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 29 ноя 2012, 11:03
Vic
dlnsk писал(а):Обнаружил интересный эффект в данном примере:
После выполнения команды в строке с нулем цвет нуля и фон картинки рядом становятся красными (точнее они становятся того цвета, который у предыдущего пункта).
Кто-нибудь может объяснить этот эффект?
Тоже самое произошло, когда добавил еще данных в массив чисел:
Код: Выделить всё
int[] values = { 8, 4, -3, 2, -5, 0, 3, -6, 1, -1, -5, 7, 8, 0, 10 }
Но тут встает вопрос: В уроках на скринах черный фон и белый текст, а у меня наоборот. Как определить, какие значения по умолчанию были у того лейаута, по которому составляем элементы списка?
Попробовал так:
Код: Выделить всё
public class MainActivity extends Activity {
...
TextView tvValue;
...
protected void onCreate(Bundle savedInstanceState) {
...
tvValue = (TextView) findViewById(R.id.tvValue);
}
...
public void setViewText(TextView v, String text) {
...
if (i > 0)
v.setTextColor(Color.GREEN);
else
v.setTextColor(tvValue.getCurrentTextColor()); // это как раз 103 строка
}
Ругается,
11-29 11:23:01.483: E/AndroidRuntime(606): java.lang.NullPointerException
11-29 11:23:01.483: E/AndroidRuntime(606): MainActivity$MySimpleAdapter.setViewText(MainActivity.java:103)
Он не видит tvValue из MainActivity?
Попробовал так:
Код: Выделить всё
class MySimpleAdapter extends SimpleAdapter {
MainActivity _context;
public MySimpleAdapter(Context context,
List<? extends Map<String, ?>> data, int resource,
String[] from, int[] to) {
super(context, data, resource, from, to);
_context = (MainActivity)context;
}
...
if (i > 0)
v.setTextColor(Color.GREEN);
else
v.setTextColor(_context.tvValue.getCurrentTextColor());
Все равно ругается.
Может он не может определить цвет у того элемента, который не выведен?
Тогда как же найти цвет текста и заднего фона для картинки, которые должны быть по умолчанию?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 23 янв 2013, 21:47
$01ny$hko
Каким образом в следующей строчке
Код: Выделить всё
public static final String[] ball = new String[] {"0 баллов", "+2 б.", "+1 б.", "5 б." };
можно вместо "0 баллов" вставить значение из preferences, сохранённое вот так?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 24 янв 2013, 00:32
rezak90
static final String
никак =)
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 24 янв 2013, 04:21
neoksi
Vic писал(а):...
Все равно ругается.
Может он не может определить цвет у того элемента, который не выведен?
Тогда как же найти цвет текста и заднего фона для картинки, которые должны быть по умолчанию?
Правильно ругается, так как у тебя ссылки на нужный класс нету...
Вообще, по уму, тебе необходимо нужные параметры передать в конструктор своего адаптера, а потом с ними уже манипулировать внутри класса твоего адаптера. Для понимания советую прокачать навык понимания ООП.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 24 фев 2013, 11:34
Roman
Добрый день.
Подскажите пожалуйста как при выводе данных из базы умножить их на число?
Сделал простенькую базу данных и хочу при выводе в ListView (кстати нашел как можно кастомизировать элементы) хочу умножить столбец
sets_weight на коэффициент.
Код: Выделить всё
onSets = db.getSets(exesIdsColExes, toprog_dif);
listSets.setAdapter(new SimpleCursorAdapter(this,
R.layout.itemsets, onSets,
new String[] {"sets_ids", "sets_weight", "sets_ones"},
new int[] {R.id.itemsets_ids, R.id.itemsets_weight, R.id.itemsets_ones}) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = super.getView(position, convertView, parent);
// Here we get the textview and set the color
Typeface fontTitleProg = Typeface.createFromAsset(getAssets(), "AGHELVETICA.TTF");
TextView itemsets_ids = (TextView) row.findViewById(R.id.itemsets_ids);
itemsets_ids.setTypeface(fontTitleProg, 1);
itemsets_ids.setGravity(0x05);
TextView itemsets_weight = (TextView) row.findViewById(R.id.itemsets_weight);
itemsets_weight.setTypeface(fontTitleProg, 1);
itemsets_weight.setGravity(0x01);
TextView itemsets_ones = (TextView) row.findViewById(R.id.itemsets_ones);
itemsets_ones.setTypeface(fontTitleProg, 1);
itemsets_ones.setGravity(0x01);
return row;
}
});
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 24 фев 2013, 15:14
dens
Переопределить ViewBinder под свои нужды (смотри следующий урок).
И, кстати, зачем извращаешься так и задаёшь тот же graviry через числа (0x01 всякие)? Есть же определённые ещё разработчиками оси константы, их бы и использовал.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 28 фев 2013, 23:42
Alex_sh
Попытался изменить тип данных в данном примере на double
из
// массив данных
int[] values = { 8, 4, -3, 2, -5, 0, 3, -6, 1, -1 };
сделал
// массив данных
double[] values = { 8, 4, -3, 2, -5, 0, 3, -6, 1, -1 };
возникает следующая ошибка:
02-28 23:27:16.278: E/AndroidRuntime(500): java.lang.NumberFormatException: unable to parse '8.0' as integer
Не понимаю почему происходит parse, может кто-нибудь объяснить?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 01 мар 2013, 00:08
rezak90
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 01 мар 2013, 10:42
Alex_sh
А можешь рассказать подробнее, где я могу это посмотреть?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добавлено: 01 мар 2013, 10:46
rezak90
это с урока строка