Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
7 / 5 / 2
Регистрация: 16.11.2019
Сообщений: 113

Задать цвет текста TextView после вывода данных из бд

19.10.2020, 12:23. Показов 1187. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код созданного адаптера
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public class StateAdapter extends ArrayAdapter<State> {
 
    private LayoutInflater inflater;
    private int layout;
    private List<State> states;
    public TextView workView;
    public StateAdapter(Context context, int resource, List<State> states) {
        super(context, resource, states);
        this.states = states;
        this.layout = resource;
        this.inflater = LayoutInflater.from(context);
    }
    public View getView(int position, View convertView, ViewGroup parent) {
        @SuppressLint("ViewHolder")
        View view=inflater.inflate(this.layout, parent, false);
 
        TextView placeView = view.findViewById(R.id.tvPlace);
        TextView branchView = view.findViewById(R.id.tvBranch);
        workView = view.findViewById(R.id.tvWork);
        TextView timeView = view.findViewById(R.id.tvTime);
 
        State state = states.get(position);
 
//        ContextCompat.getColorStateList(null, R.color.text_color);
//        AppCompatResources.getColorStateList(null, R.color.text_color);
//        workView.setTextColor(getColorStateList(null, R.color.text_color));
//        placeView.setTextColor(Color.RED);
//        workView.setTextColor(Color.parseColor("#337722"));
 
        placeView.setText(state.getTime());
        branchView.setText(state.getPlace());
        workView.setText(state.getWork());
        timeView.setText(state.getBranch());
 
        return view;
    }
}
 
public class State {
 
    private String place;
    private String branch;
    private String work;
    private String time;
 
    public State(String places, String branches, String works, String times){
 
        this.place=places;
        this.branch=branches;
        this.work=works;
        this.time=times;
    }
 
    public String getPlace() {
        return this.place;
    }
 
    public String getBranch() {
        return this.branch;
    }
 
    public String getWork() {
        return this.work;
    }
 
    public String getTime() {
        return this.time;
    }
 
}
Код Activity, где расположен ListView
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
45
46
47
public class BranchesActivity extends AppCompatActivity {
    private List<State> states = new ArrayList();
 
    ListView countriesList;
    DatabaseBranches databaseBranches;
    SQLiteDatabase db;
    Cursor userCursor;
    SimpleCursorAdapter userAdapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_branches);
 
        countriesList = findViewById(R.id.lvMain);
        // создаем адаптер
        StateAdapter stateAdapter = new StateAdapter(this, R.layout.item, states);
        // устанавливаем адаптер
        countriesList.setAdapter(stateAdapter);
    }
 
    @SuppressLint({"ResourceAsColor", "ResourceType"})
    public void onResume() {
        super.onResume();
        TextView tvWork = findViewById(R.id.tvWork);
        
        databaseBranches = new DatabaseBranches(getApplicationContext());
        databaseBranches.create_db();
        db = databaseBranches.open();
        userCursor = db.rawQuery("select * from " + DatabaseBranches.TABLE, null);
 
        String[] headers = new String[]{DatabaseBranches.COLUMN_PLACE, DatabaseBranches.COLUMN_BRANCHES, DatabaseBranches.COLUMN_WORK,DatabaseBranches.COLUMN_TIME};
//        if (DatabaseBranches.COLUMN_WORK.equals("Работает"))
//            tvWork.setTextColor(R.color.colorAccent);
//        else {
//            tvWork.setTextColor(R.color.colorPrimaryDark);
//        }
        userAdapter = new SimpleCursorAdapter(this, R.layout.item, userCursor, headers, new int[]{R.id.tvPlace, R.id.tvBranch, R.id.tvWork,R.id.tvTime});
        countriesList.setAdapter(userAdapter);
    }
 
    public void onDestroy() {
        super.onDestroy();
        db.close();
        userCursor.close();
    }
}
Ну и на всякий случай код бд
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
public class DatabaseBranches extends SQLiteOpenHelper {
    private static String DATABASE_PATH;
    private static final String DATABASE_NAME = "branches.db";
    private static final int VERSION = 1;
    static final String TABLE = "branches";
 
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_PLACE = "place";
    public static final String COLUMN_BRANCHES = "branch";
    public static final String COLUMN_WORK = "work";
    public static final String COLUMN_TIME = "time";
    private Context myContext;
 
    public DatabaseBranches(Context context) {
        super(context, DATABASE_NAME, null, VERSION);
        this.myContext=context;
        DATABASE_PATH = context.getFilesDir().getPath() + DATABASE_NAME;
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
 
    void create_db() {
        InputStream myInput = null;
        OutputStream myOutput = null;
        try {
            File file = new File(DATABASE_PATH);
            if (!file.exists()) {
                this.getWritableDatabase();
                //получаем локальную бд как поток
                myInput = myContext.getAssets().open(DATABASE_NAME);
                // Путь к новой бд
                String outFileName = DATABASE_PATH;
 
                // Открываем пустую бд
                myOutput = new FileOutputStream(outFileName);
                byte[] buffer = new byte[1024];
                int length;
                while ((length = myInput.read(buffer)) > 0) {
                    myOutput.write(buffer, 0, length);
                }
                myOutput.flush();
                myOutput.close();
                myInput.close();
            }
        } catch (IOException ex) {
            Log.d("DatabaseBranches", ex.getMessage());
        }
    }
    public SQLiteDatabase open()throws SQLException {
        return SQLiteDatabase.openDatabase(DATABASE_PATH, null, SQLiteDatabase.OPEN_READWRITE);
    }
}
Строки "РАБОТАЕТ И НЕ РАБОТАЕТ" должны быть другого цвета
Миниатюры
Задать цвет текста TextView после вывода данных из бд  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.10.2020, 12:23
Ответы с готовыми решениями:

Задать стили (цвет текста) списку. Как задать цвет текста
Помогите задать стили(цвет текста) списку. Как задать цвет текста ? &lt;div class=&quot;menu&quot;&gt; &lt;ul&gt; &lt;li&gt;&lt;a ...

После перенаправления потока вывода не настраивается фон и цвет текста
assign(output,'MITINGI.TXT'); rewrite(output); for i := 1 to n do spisok^.Vyvod; close(output); ...

Не отображается цвет текста в TextView на реальном устройстве
Я недавно занялась программирование в Android Studio и столкнулась с такой проблемой: Использовав ConstrainLayout на фрагменте я добавила...

5
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
19.10.2020, 12:27
Раскомментируй setTextColor и перекрашивай.
0
7 / 5 / 2
Регистрация: 16.11.2019
Сообщений: 113
19.10.2020, 12:33  [ТС]
ExFau$t, а где именно, в адапторе или Activity? просто если в Activity, то выдает ошибку нулевое значение, а если в адаптаре, то просто не меняет цвет
Вот код ошибки Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setTextColor(int )' on a null object reference
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
19.10.2020, 12:36
В адаптере.
0
7 / 5 / 2
Регистрация: 16.11.2019
Сообщений: 113
19.10.2020, 13:54  [ТС]
ExFau$t, когда делаю в нем, то цвет не меняется, пробовал по разному
// ContextCompat.getColorStateList(null, R.color.text_color);
// AppCompatResources.getColorStateList(nul l, R.color.text_color);
// workView.setTextColor(getColorStateList( null, R.color.text_color));
// placeView.setTextColor(Color.RED);
// workView.setTextColor(Color.parseColor(" #337722"));

Добавлено через 1 час 16 минут
ExFau$t, Значит не знаешь, как это сделать?
0
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
20.10.2020, 13:07
Я может чего-то не понимаю... Не знаю зачем юзать здесь getColorStateList.
Попробуй раскомменитировать только эту строчку placeView.setTextColor(Color.RED) и на всякий случай поставь ее после строчки placeView.setText(state.getTime());
Если ошибки, покажи трассировку стека.
В любом случае, посоветую то, что советовали всегда мне здесь: не юзай ListView. Привыкнешь к нему, а потом проблем не оберешься. Используй RecyclerView.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.10.2020, 13:07
Помогаю со студенческими работами здесь

Элемент для вывода текста чтобы можно было менять цвет текста
Подскажите пожалуйста, существует ли какой-то элемент для вывода текста чтобы можно было менять цвет текста?

Событие после изменения текста в TextView
Подскажите пожалуйста, какое событие срабатывает после того как изменился текст в TextView, чтобы туда повесить действие. Цель такая, текст...

Задать цвет текста
Как можно задать цвет текста, переопределив тег &lt;body&gt;? (так звучит задание)

Задать цвет текста в DrawString
ColorDialog colors; // получаю цвет ниже, не суть graphics2.DrawString(textBox26.Text, new Font(&quot;Arial&quot;, 12f, FontStyle.Bold), new...

Задать цвет светящегося текста?
@-webkit-keyframes pulsate{ 50%{color: #fff; text-shadow: 0 -1px rgba(0,0,0,3),0 0 5px #ffd, 0 0 8px #fff;} } @keyframes pulsate{ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru