开发者社区> 问答> 正文

关于Android自定义Button的OnKeyDown方法没反应 的问题

代码如下:
自定义Button类

 public class MyButton extends Button{
 public MyButton(Context context,AttributeSet set) {
 super(context,set);
 }
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    super.onKeyDown(keyCode,event);
    TextView tv = (TextView) findViewById(R.id.aa);
    tv.setText("123232323");
    Log.v("111","2222");
    return super.onKeyDown(keyCode, event);
}


}

界面xml代码:
 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
 android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
 android:orientation="vertical"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TextView
    android:id="@+id/aa"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
<com.example.cg.view.MyButton
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

展开
收起
爵霸 2016-03-12 09:39:20 2773 0
1 条回答
写回答
取消 提交回答
  • public class ****Acticity extends Activity {
     @Override
    
     public void onCreate(Bundle savedInstanceState) {
    
     super.onCreate(savedInstanceState);
    
     MyButton mybutton = new MyButton(this);
    
     mybutton.setFocusable(true);
    
     setContentView(mybutton);
    
     } 
     }
    ``
    
    
    点击没效果,是因为Activity也有onKeyDown,你在view中设置了onKeyDown,点击时,系统不知道要响应哪一个。你给button添加一个焦点。
    2019-07-17 19:00:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载