これがかなり奇妙であることはわかっていますが、何か間違ったことをしていると思います。
public void checkUpgrade( final Context context, final int PREF_ID ) {
if (!StringHelper.isEmpty( type ) && !type.equals( TYPE_HIDDEN )) {
if ( type.equals( TYPE_SUGGESTED ) && lastRemind + reminderInterval < System.currentTimeMillis() ) {
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder( context );
builder.setTitle( title ).setMessage( description ).setCancelable( type.equals( TYPE_SUGGESTED ) ).setPositiveButton( "Update", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
final Intent browserIntent = new Intent( Intent.ACTION_VIEW, Uri.parse( link ) );
context.startActivity( browserIntent );
lastRemind = Long.MAX_VALUE;
save( context, PREF_ID );
}
} );
if (type.equals( TYPE_SUGGESTED )) {
builder.setNegativeButton( "Skip", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
lastRemind = System.currentTimeMillis();
save( context, PREF_ID );
}
} );
}
AlertDialog alert = builder.create();
alert.show();
}
}
これは私の警告ダイアログのコードです。私はすべて、アクティビティ onResume でアップグレードをチェックします。すべてのレイアウトではなく[アップグレード] ボタンのみをレンダリングする理由が本当にわかりません。なぜなのかご存知ですか?