Урок 49. SimpleAdapter. Методы SetViewText и SetViewImage
Урок 49. SimpleAdapter. Методы SetViewText и SetViewImage
Последний раз редактировалось damager82 02 май 2017, 23:35, всего редактировалось 4 раза.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
А можно это 'android.R.drawable.arrow_down_float' как нибудь указать в xml файле разметки ?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Можно так:
Код: Выделить всё
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/arrow_up_float" />
-
- Сообщения: 17
- Зарегистрирован: 27 фев 2012, 10:53
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добрый день. Помогите пожалуйста разобраться почему приложение падает при запуске. Падает с таким сообщением об ошибке:
"E/AndroidRuntime(1654):java.lang.RuntimeException: Unable to start activity ComponentInfo{com.com/com.com.SimpleAdapterCustomActivity;}: java.lang.ClassCastException: android.widget.LinearLayout"
Код программы и файлы ресурсов такие же как у вас. Последний метод который отрабатывается полностью - это конструктор MySimpleAdapter.
"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
Ошибка в этой строке?
lvSimple = (ListView) findViewById(R.id.lvSimple);
Значит R.id.lvSimple - это у вас ID компонента LinearLayout
Проверьте layout-файл. Скопируйте еще раз содержимое с урока.
lvSimple = (ListView) findViewById(R.id.lvSimple);
Значит R.id.lvSimple - это у вас ID компонента LinearLayout
Проверьте layout-файл. Скопируйте еще раз содержимое с урока.
-
- Сообщения: 17
- Зарегистрирован: 27 фев 2012, 10:53
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Скопировал, не помогло. Я не знаю где падает, метод onCreate отрабатывает полностью, судя по логам, поэтому ошибка скорее всего не в этих строчка. И точно такая же ошибка в следующем уроке.
Кстати, извините за офтоп, вы планируете написать статью о том как пользоваться отладчиком eclipse при разработке под Андроид?
Кстати, извините за офтоп, вы планируете написать статью о том как пользоваться отладчиком eclipse при разработке под Андроид?
-
- Сообщения: 17
- Зарегистрирован: 27 фев 2012, 10:53
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Спасибо, разобрался в чем проблема. Но вопрос с отладчиком остается актуальным:) Без него совсем тяжело работать, а толковой документации я к сожалению не нашел.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Я сам не особо пользуюсь отладчиком. Больше на логи упираю. Только, если уж совсем непонятно, что не так, тогда пользую.
Но вообще штука, конечно, нужная и полезная. Будет время, попробую сочинить чегонить про отладку.
Но вообще штука, конечно, нужная и полезная. Будет время, попробую сочинить чегонить про отладку.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Обнаружил интересный эффект в данном примере:
После выполнения команды
(я поместил ее в onClick добавленой мной кнопки) в строке с нулем цвет нуля и фон картинки рядом становятся красными (точнее они становятся того цвета, который у предыдущего пункта).
Кто-нибудь может объяснить этот эффект?
После выполнения команды
Код: Выделить всё
sAdapter.notifyDataSetChanged();
Кто-нибудь может объяснить этот эффект?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Какая версия андроида? Посмотрел исходники SimpleAdapter для четвёрки - так и должно происходить, в примере ошибка.
Цвет фона нужно устанавливать всегда. Метод суперкласса с ним ничего не делает, так что он должен остаться от предыдущего пункта.
Цвет фона нужно устанавливать всегда. Метод суперкласса с ним ничего не делает, так что он должен остаться от предыдущего пункта.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Тоже самое произошло, когда добавил еще данных в массив чисел: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 строка
}
Он не видит tvValue из MainActivity?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)
Попробовал так:
Код: Выделить всё
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
Каким образом в следующей строчке можно вместо "0 баллов" вставить значение из preferences, сохранённое вот так?
Код: Выделить всё
public static final String[] ball = new String[] {"0 баллов", "+2 б.", "+1 б.", "5 б." };
Код: Выделить всё
final String SaveBalance = "balance"
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
никак =)static final String
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Правильно ругается, так как у тебя ссылки на нужный класс нету...Vic писал(а):...
Все равно ругается.
Может он не может определить цвет у того элемента, который не выведен?
Тогда как же найти цвет текста и заднего фона для картинки, которые должны быть по умолчанию?
Вообще, по уму, тебе необходимо нужные параметры передать в конструктор своего адаптера, а потом с ними уже манипулировать внутри класса твоего адаптера. Для понимания советую прокачать навык понимания ООП.

Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Добрый день.
Подскажите пожалуйста как при выводе данных из базы умножить их на число?
Сделал простенькую базу данных и хочу при выводе в ListView (кстати нашел как можно кастомизировать элементы) хочу умножить столбец sets_weight на коэффициент.
Подскажите пожалуйста как при выводе данных из базы умножить их на число?
Сделал простенькую базу данных и хочу при выводе в 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
Переопределить ViewBinder под свои нужды (смотри следующий урок).
И, кстати, зачем извращаешься так и задаёшь тот же graviry через числа (0x01 всякие)? Есть же определённые ещё разработчиками оси константы, их бы и использовал.
И, кстати, зачем извращаешься так и задаёшь тот же graviry через числа (0x01 всякие)? Есть же определённые ещё разработчиками оси константы, их бы и использовал.
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
Попытался изменить тип данных в данном примере на 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, может кто-нибудь объяснить?
из
// массив данных
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
потому что
Код: Выделить всё
int i = Integer.parseInt(text);
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
А можешь рассказать подробнее, где я могу это посмотреть?
Re: Урок 49. SimpleAdapter. Методы SetViewText и SetViewImag
это с урока строка
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена