Я один метод onFocusChange()
, этот метод используется для проверки, если EditText на мои приложения является фокус, как показано ниже:Добавить случай переключатель для слушателя в Android
nama_pp = (EditText) polis.findViewById(R.id.nama_pp);
nama_pp.setOnFocusChangeListener(this);
gelar_pp = (EditText) polis.findViewById(R.id.gelar_pp);
gelar_pp.setOnFocusChangeListener(this);
alamat_pp = (EditText) polis.findViewById(R.id.alamat_pp);
alamat_pp.setOnFocusChangeListener(this);
kota_pp = (EditText) polis.findViewById(R.id.kota_pp);
kota_pp.setOnFocusChangeListener(this);
kdpos_pp = (EditText) polis.findViewById(R.id.kdpos_pp);
kdpos_pp.setOnFocusChangeListener(this);
Вот метод:
public void onFocusChange(View v, boolean hasFocus) {
switch (v.getId()) {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
}else{
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
case R.id.alamat_pp:
if (!hasFocus) {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
} else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
break;
case R.id.kota_pp:
if (!hasFocus) {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
} else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
break;
case R.id.kdpos_pp:
if (!hasFocus) {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
} else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
break;
case R.id.telp1_pp:
if (!hasFocus) {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
} else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
break;
case R.id.telp2_pp:
if (!hasFocus) {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
} else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
break;
}
Как вы можете видеть, заявление для alamat_pp, kota_pp, kd_pos_pp имеют такое же заявление:
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
}else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
Если я хочу установить свой переключатель для обмена фокусом для слушателя как alamat_pp.setOnFocusChangeListener(listener);
, как бы написать его в моем switch
?
public void onFocusChange(View v, boolean hasFocus) {
switch(v.getId()){
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
}else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
case R.id.alamat_pp:
if(!hasFocus){
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
}else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
break;
}
switch(?????){
case listener:
if(!hasFocus){
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1);
}else {
layout_alamatrmh_pp.setBackgroundResource(R.drawable.border_corner_baris1_klik);
}
break;
}
}
Ваш переключатель 'onFocusChange' не синтаксически правильно. Возможно, вы захотите изучить это *, чтобы решить, можете ли вы его использовать. – Makoto
@makoto Я думаю, что это правильно .. я просто запутался в «switch (?????)» для слушателя –
Я имел в виду от прыжка, на самом деле. У вас нет каких-либо аргументов 'case' в этом коде. Я не уверен, что это даже компилируется. – Makoto