例如在一个activity中同时有两个按钮button_1,button_2,当将焦点在不同的按钮上时,按下中间键,在OnKeyDown()的相应函数中,我怎么知道现在是哪一个按钮处于当前的激活状态呢,有没有类似于getfoucs()的这样的函数,在java中有一个actionPerformed(ActionEvent e)通过这个可以区别其中是在那个button控件上,但是android中好像没有这样的方法吧,本人新手,还请大侠们告知处理这类事情的方法啊?谢谢了先

解决方案 »

  1.   

    给两个button分别设置不同的id,在点击button后所触发的点击事件中,会传入一个view,通过getId方法拿到这个view的id,这样就能判断是哪个button
      

  2.   

    button可以设置android:id属性的,在activity中可以通过指定的id来判断是哪个button
      

  3.   

    你说的这个方法我已经测过了,由于两个button在同一个activity下,view.getId这个好像是在点击事件中的,而我要在按键中相应不同所以这个方法好像不对
      

  4.   

    请问我怎么判读是否为我要的button ID呢?
      

  5.   


    switch(view.getId()){
    case R.id.button01:
    ...
    break;
    }
      

  6.   

    你说的这个是在OnClickListener中用到的,如果我想在OnKeyDown()函数判断,怎么来区别不同的button呢,如果也要用到view,那么我怎么获得view呢?
      

  7.   

    你可以用一个int型参数去记录当前焦点是哪一个
      

  8.   

    用view.isFocused来判断,就是累点
      

  9.   

    好像用 XX.hasFocus 也可以判断,
    刚学Android 编程,很不喜欢JAVA的编程方式!!!