私のアプリは、アクションバーを使用してタイトルを設定し、ユーザーの操作に応じて変化し続けるサブタイトルを表示します。またsplitActionBarWhenNarrow
、アクションバーでメニューオプションを使用して表示しています。
アプリで Android の古いバージョン (以下の API 11) を搭載したデバイスをサポートするようにするには、 を設定する 必要がありますandroid:minSdkVersion="8"
が、最小 SDK バージョンを以下の 11 に設定すると、アクションバーにエラー ( Call requires API level 11 (current min is 8): android.app.Activity#getActionBar
) が表示されます:
getActionBar().setTitle(record_name);
getActionBar().setSubtitle("Total: "+BigDecimal.valueOf(total).toPlainString()+"/-");
API のバージョンを確認する if 条件を追加して、これを解決しようとしました。
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if(currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB)
{
//Use Actionbar to set title and subtitle etc.
getActionBar().setTitle(record_name);
getActionBar().setSubtitle("Total: "+BigDecimal.valueOf(total).toPlainString()+"/-");
getActionBar().setIcon(R.drawable.ic_header);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
else
{
}
しかし、それは機能しません。まだエラーが発生しますgetActionBar()...
この問題を解決し、API が <11 の場合はアクションバーの使用を避け、API が >=11 の場合はアクションバーを使用するにはどうすればよいですか?