1
안드로이드의 버전을 확인하고 하나 또는 다른 경고 대화 상자를 실행하려면 사용하십시오. 이 코드를 사용하면 "빌더"가 마지막에 공유되지 않습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?sdk 버전을 확인하십시오.
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
때문에 충분이 기본적으로보다 반대 조건을 테스트하고이 같은
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();
}
아마도 'else if'를 'else'로 바꾸어야합니다 (명확성을 위해). 그렇지 않으면 +1. – Eric
@ K-ballo, 코드, builder.setView (view) .create(); 및 기타 빌더 바닥을 사용할 수없는 경우 (로컬 변수 빌더가 초기화되지 않았을 수 있음) –
@Pol Hallen : 빌더는 항상 초기화되며 조건은 반대입니다. 하지만 'else if'를 하나의 'else'로 바꾸면 바보 컴파일러는 불평하지 않을 것입니다 ... –