Здравствуйте). Пишу мобильное приложение 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
Надо слушать другой листенер:
checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
//blah-blah
}
}
);
Нашёл решение)
@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);
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости