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

Разноцветный список цветов без текста - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Получить текст отображаемый приложением http://www.cyberforum.ru/android-dev/thread921898.html
Всем привет. У меня возникла задача: Мне нужно программно "увидеть" что отображает запущенное приложение на девайсе. Например я запускаю хром через adb или вручную неважно, загружаю страницу и мне...
Программирование Android Достать определённый столбец из SQLite Знаю про moveToFirst, moveToNext, а что делать если нужно достать данные из определенного столбца с именем допустим name, например, для того, чтобы сравнить значение этого столбца с определённой... http://www.cyberforum.ru/android-dev/thread921866.html
Смена компа-компилятора. Не хочет обновляться у пользователей Программирование Android
Поставил пользователям программу. Затем сменил комп, перенес исходники. Но теперь не могу поставить новую версию пользователем. Выдаешь ошибку, мол другой продукт под тем же доменом уже установлен....
Потоки в фрагменте не запустить? Программирование Android
Не могу использовать потоки в фрагменте. использую конструкцию: new Thread() { @Override public void run() { ...code }.start(); }
Программирование Android Сортировка данных в базе http://www.cyberforum.ru/android-dev/thread921772.html
А как можно отсортировать данные в базе SqLite?
Программирование Android Не срабатывает onResume в Fragment Есть активность которая содержит три фрагмента. Переключаясь между фрагментами не срабатывает onResume. Почему? Добавлено через 39 минут Разобрался. Суть в том что onResume срабатывает только... подробнее

Показать сообщение отдельно
Nika_DE
0 / 0 / 0
Регистрация: 10.06.2013
Сообщений: 3
13.07.2013, 23:09  [ТС]
DedBoroda, благодарю Вас, за помощь.

Делусь с решением задачи. Возможно, что у кого-нибудь могут тоже появиться похожие вопросы.

Итак:

1. Создаётся два xml-файла, один для элемента в списке, а другой - для всего списка.

"item.xml" - тут главным можно считать id y TextView:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
 
    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center_vertical"
        android:layout_margin="5dp"
        android:gravity="center_horizontal"
        android:text="@string/leer_text" />
 
</LinearLayout>
"farbpalette_layout.xml" в котором стоят ListView и TextView

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/black"
    android:orientation="vertical" >
 
    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="332dp" >
    </ListView>
 
    <TextView      
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/leer_text" />
 
</LinearLayout>
2. Создаётся класс для Activity, например, "FarbenActivity.java"

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class FarbenActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        // Находим Layout, в котором будет стоять сесь список
        setContentView(R.layout.farbpalette_layout);
 
        // Создаём список цветов
        ArrayList<Integer> colors1 = new ArrayList<Integer>();
        colors1.add(getResources().getColor(R.color.butter_yellow));
        colors1.add(getResources().getColor(R.color.gray));
        colors1.add(getResources().getColor(R.color.royal_blue));
        // и другие цвета..
 
        // Создаём адаптор, который принимает наш ArrayList
        FarbenAdapter adapter = new FarbenAdapter(this, colors1);
 
        // ListView в который вписываем с помощью адаптора наш ArrayList
        ListView listView = (ListView) findViewById(R.id.listView);
        listView.setAdapter(adapter);
    }}
3. Создаётся адаптор, например, "FarbenAdapter.java":

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public class FarbenAdapter extends BaseAdapter {
 
    private final Context context;  
    ArrayList<Integer> colorsarray = new ArrayList<Integer>();
 
    public FarbenAdapter(Context context, ArrayList<Integer> colors) {
        this.context = context;
        colorsarray = colors;
    }
    
    @Override
    public int getCount() {
        
        return colorsarray.size();
    }
 
    @Override
    public Object getItem(int position) {
        return colorsarray.get(position);
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // получим layout item, чтобы с ним дальше работать
        View view = View.inflate(context, R.layout.item, null);
        
        // дальше с него получим TextView
        TextView colorText = (TextView) view.findViewById(R.id.text);
        
        //дальше зададим этому TextView текст - это код цвета
        //position у нас аргумент, показывающий позицию в листе..
        colorText.setText(String.valueOf(getItem(position)));
        
        // .. и задаем фон
        colorText.setBackgroundColor((Integer)getItem(position));
        
        return view;
    }
}
Таким образом, получаем разноцветный список.
Успехов всем!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru