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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Получить текст отображаемый приложением http://www.cyberforum.ru/android-dev/thread921898.html
Всем привет. У меня возникла задача: Мне нужно программно "увидеть" что отображает запущенное приложение на девайсе. Например я запускаю хром через adb или вручную неважно, загружаю страницу и мне нужно получить текст отображаемой страницы. т.е мне надо получить либо все виджиты хрома с отображаемой информацией на них (это было бы идеально), либо html ну или просто отображаемый текст. Может...
Программирование Android Достать определённый столбец из SQLite Знаю про moveToFirst, moveToNext, а что делать если нужно достать данные из определенного столбца с именем допустим name, например, для того, чтобы сравнить значение этого столбца с определённой переменной? Большое спасибо. Добавлено через 13 минут Немного не так выразился, нужно получить не значение столбца, а поля. Можно вообще дать какое-то имя ячейке и по нему получать доступ к... 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;
    }
}
Таким образом, получаем разноцветный список.
Успехов всем!
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru