2012-12-19 3 views
0

Сценарий: У меня есть view.4.xml, в котором есть ViewFlipper и два RelativeLayout внутри него. Оба переключателя имеют кнопку с названием buttonTOG, которую я хочу использовать для переключения с одного релятивирования на другой. Вот код:Viewflipper onclick не работает

@Override 
public void onCreate(Bundle savedInstanceState) { 


    super.onCreate(savedInstanceState); 
    setContentView(R.layout.lobby4); 
    Context context = getApplicationContext(); 
    final ViewFlipper vf = (ViewFlipper) findViewById(R.id.viewFlipper); 
    bTOG=(Button)findViewById(R.id.buttonTOG); 
    final Activity the_a = this; 
    final Context static_ctx = this.getApplicationContext(); 
    bTOG.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      String buttons=bTOG.getText().toString(); 
      bTOG=(Button)findViewById(R.id.buttonTOG); 
      String mystring = getResources().getString(R.string.Playbyemail); 
      if(buttons!=null && buttons.compareTo(mystring)==0){ 
       vf.showPrevious(); 
      }else{ 
       vf.showNext(); 
      } 


     } 
    }); 


} 

Когда я нажимаю второй раз на bTOG, события onClick отсутствуют. Значит, я должен зарегистрироваться onclick?

ответ

0

Должно быть достаточно:

@Override 
public void onCreate(Bundle savedInstanceState) { 


super.onCreate(savedInstanceState); 
setContentView(R.layout.lobby4); 
final ViewFlipper vf = (ViewFlipper) findViewById(R.id.viewFlipper); 
bTOG=(Button)findViewById(R.id.buttonTOG); 
    bTOG.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     if(vf.getDisplayedChild() == 0){ 
vf.setDisplayedChild(1); 
}else{ 
vf.setDisplayedChild(0) 
} 


    } 
}); 


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