2013-12-16 3 views
0

Я один метод 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; 
} 
} 
+0

Ваш переключатель 'onFocusChange' не синтаксически правильно. Возможно, вы захотите изучить это *, чтобы решить, можете ли вы его использовать. – Makoto

+0

@makoto Я думаю, что это правильно .. я просто запутался в «switch (?????)» для слушателя –

+0

Я имел в виду от прыжка, на самом деле. У вас нет каких-либо аргументов 'case' в этом коде. Я не уверен, что это даже компилируется. – Makoto

ответ

0
//implement the onFocusChange method here 
     public void onFocusChange(View v) { 
      // Perform action on FocusChange 
      switch(v.getId()) { 
      case R.id.buttonplay: 
       //Play voicefile 
       MediaPlayer.create(getBaseContext(), R.raw.voicefile).start(); 
       break; 
      case R.id.buttonstop: 
       //Stop MediaPlayer 
       MediaPlayer.create(getBaseContext(), R.raw.voicefile).stop(); 
       break; 
      } 
     } 

кнопка ПАРОЛЯ в случае условие ....

+0

Я знаю метод для: switch (v.getId()) мой вопрос, если, возможно ли, что я хочу переключить мой слушатель ??? –

Смежные вопросы