//1.初始化定义mkeyMap = new HashMap<Integer,Interger>
//2.填充键值 mKeyMap.put(KeyCode,id);
//3.按键响应事件中 检查keycode
检查成功后删除mKeyMap.remove(keyCode);
可以通过检查mKeyMap.size()判断是否遍历所有按键
//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));
}
}
}