3

我需要检查 android 的版本并使用 if 来运行一个或其他 alertdialog。使用此代码,“builder”底部最后一个如果不共享。最好的方法是什么?

我的代码:

int sdk = android.os.Build.VERSION.SDK_INT;
        if(sdk < android.os.Build.VERSION_CODES. HONEYCOMB) 
        {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
        }
        else if (sdk >= android.os.Build.VERSION_CODES. HONEYCOMB)
        {
            AlertDialog.Builder builder = new AlertDialog.Builder(this, animazione);
        }

        builder.setView(view).create();
        TextView text=(TextView) findViewById(R.id.infoView1);
        builder.setCancelable(false); 
        builder.setPositiveButton("Chiudi", new DialogInterface.OnClickListener() {  
               public void onClick(DialogInterface dialog, int id) {  
                   tips = 0;
                   dialog.cancel();
            }  
            });  
        builder.show();     
    }
4

1 回答 1

7

很简单,像这样:

AlertDialog.Builder builder;
if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) 
{
    builder = new AlertDialog.Builder(this);
}
else
{
    builder = new AlertDialog.Builder(this, animazione);
}

正如@Eric指出的那样,一个简单的else就足够了,因为else if基本上是在测试与if.

于 2012-12-30T18:29:32.457 回答