如何遍历需要测试的按键

//1.初始化定义mkeyMap = new HashMap<Integer,Interger>


//2.填充键值 mKeyMap.put(KeyCode,id);


//3.按键响应事件中 检查keycode
检查成功后删除mKeyMap.remove(keyCode);


可以通过检查mKeyMap.size()判断是否遍历所有按键


//4.循环按键方法


testactivity extends TestActivityBae{

for (Entry<Integar ,Integar> entry : mKeyMap.entrySet())



     private Map<Integer,Integer> mKeyMap = new HashMap<Integer,Integer>();
     
     public void onCreate(Bundle SavedInstanceState){
         testProcess = new Runnable(){
             initKeyMap();
             setBtnColor(Color.WHITE);
         }
     }
     
     
     
     public void onResume(){
         super.onResume();
         
         runtest();
         
     }
     
     public final void runtest(){
         
         mHandle.post(new Runnable() {
             public void run(){
                 checkCondition();
             }
             
         });
         
         if(testProcess != null)
             mHandle.post(task);
     
     }
     
     
     public boolean onKeyDown(int keyCode,keyEvent event){
         Button button = getButton(keyCode);
         if(button != null){
             button.setBackgroundColor(Color.GREEN);
             mKeyMap.remove(keyCode);
         }
         return true;
     
     }
     
     public boolean onKeyUp(int KeyCode,KeyEvent event){
         if(mKeyMap.size == 0){
             mCond.set();// test is complished ok
         }
     }
     
     private void initKeyMap(){
         mKeyMap.put(keyEvent.KEYCODE_BACK,R.id.key_btn_utouch_back);
         mKeyMap.put(keyEvent.KEYCODE_HOME,R.id.key_btn_utouch_home);
         
     }
     
     private void setBtnColor(int color){
         for (Entry<Integar ,Integar> entry : mKeyMap.entrySet()){
             Button button = (Button) findViewById(entry.getValue());
             button.setBackgroundColor(color);
         }
     }
     
     private Button getButton(int Keycode){
         if(mKeyMap.containsKey(keyCode)){
         return (Button)findViewById(mKeyMap.get(keyCode));
         }

     }
     
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

newtonnl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值