СheckBox menu Java

434
15 февраля 2017, 22:21

Здравствуйте). Пишу мобильное приложение android. Нужен CheckBox в шапке у меню, так как такого элемента как обычный CheckBox там нет, добавил item и в его настройках включил checkable, как теперь написать обработчик событий? Обработчик как у обычного CheckBox не подходит. Не работает). мой не рабочий код:

if (id == R.id.action_online) {
            final TextView textView = (TextView) findViewById(R.id.hello);
            final CheckBox checkbox = (CheckBox) findViewById(R.id.action_online);
            checkbox.setOnClickListener(new View.OnClickListener(){
                    @Override
                public void onClick(View v) {
                    if (checkbox.isChecked()) {
                        textView.setText("WTF!!!");
                    } else {
                        textView.setText("WTF!!!");
                    }
                }
            });
        }

пытался так же вместо обычного CheckBox написать CheckedTextView, не работает, а у Checkable вообще нет атрибута setOnClickListener.Помогите пожалуйста)) Пытался написать как в этих статьях: 1) http://developer.alexanderklimov.ru/android/views/checkbox.php 2) https://metanit.com/java/android/4.3.php

Answer 1

Надо слушать другой листенер:

checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
            //blah-blah
       }
   }
);  
Answer 2

Нашёл решение)

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        final TextView textView = (TextView) findViewById(R.id.hello);
        if (id == R.id.action_online) {
            if (item.isChecked()){
                textView.setText("text true!");
                item.setChecked(false);
            } else {
                textView.setText("text false!");
                item.setChecked(true);
            }
        }

        return super.onOptionsItemSelected(item);
    }
READ ALSO
Как обработать исключение?

Как обработать исключение?

Есть try { //в этом блоке мы пишем код, где может возникнуть ошибка }

423
Есть 2 TimerTask подскажите как их остановить на время

Есть 2 TimerTask подскажите как их остановить на время

Есть 2 TimerTask подскажите как их остановить на время

354
Andoird server на Java [требует правки]

Andoird server на Java [требует правки]

Как можно написать под Android сервер, если у него не постоянный IP, как к нему подключаются устройства? И второй вопрос, я понимаю и научился писать...

400
настройки относительных путей в IntelliJ IDEA

настройки относительных путей в IntelliJ IDEA

помогите разобраться от чего зависит корректный относительный путь к файлу в проекте, к примеру:

456