ListView と CustomCursorAdapter を使用したアクティビティがあり、テストを自動化したいと考えています。すべて問題ありませんが、アダプターにレコードがない場合、アラート ダイアログが画面に表示されます。問題は、アクティビティ テスト (Android テスト ケース) でアラート ダイアログにアクセスできず、アラート ダイアログ イベントを処理できないことです。フレームワークのテストについて、これに関して私を助けてください。前もって感謝します。
ダイアログ作成コード。
@Override
protected Dialog onCreateDialog(int id){
String msg = null;
switch(id){
case CALL_SETTING:
builder = new AlertDialog.Builder(this);
builder.setTitle("CIH - HELP");
msg = "Please Allow me to guide you Configure this fresh CIH-MA.";
builder.setMessage(msg);
builder.setCancelable(true);
builder.setPositiveButton("OK", new settingOnClickListener());
builder.setNegativeButton("Cancel", new cancelOnClickListener());
alDialog = builder.create();
alDialog.show();
break;
case CALL_SITE:
builder = new AlertDialog.Builder(this);
builder.setTitle("CIH - HELP");
msg = "Please press 'Site' button to Add new Site for Monitoring and Controling Device ";
builder.setMessage(msg);
builder.setCancelable(true);
builder.setPositiveButton("OK", new siteOnClickListener());
builder.setNegativeButton("Cancel", new cancelOnClickListener());
alDialog = builder.create();
alDialog.show();
break;
}
return super.onCreateDialog(id);
}
private final class settingOnClickListener implements DialogInterface.OnClickListener{
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
ZigbeeActivity.this.startActivity(new Intent(ZigbeeActivity.this,AboutScreen.class));
}
}
private final class cancelOnClickListener implements DialogInterface.OnClickListener{
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}
private final class siteOnClickListener implements DialogInterface.OnClickListener{
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent LocationIntent = new Intent(ZigbeeActivity.this,SelectLocation.class);
LocationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
ZigbeeActivity.this.startActivity(LocationIntent);
}
}