1.字符串形式。例如id/btn_Example我們在源碼的佈局裏面寫的,HierarchyView中看見的,都是這種。
2.數字形式。例如0x7f070012,我們可以打開R.java。裏面就體現了String形式和int形式的對應關係。
/**
* 根據id來點擊view
* @param idStr id(Hierarchyviewer),即你想摸的按鍵id,字符串格式
* @return 返回false 表示id爲空,返回true表示點擊成功。
*/
public boolean clickById(String idStr) throws Exception {
if ("".equals(idStr) || idStr == null) {
return false;
}
try {
Activity activity = solo.getCurrentActivity();
// 通過String的id獲取int的id
int id = activity.getResources().getIdentifier(idStr, "id",
activity.getPackageName());
View view = solo.getView(id);// == activity.findViewById(id);
solo.clickOnView(view);
} catch (Exception ex) {
Log.e("Exception", ex.getMessage());
throw ex;
}
return true;
}