Sherlock에서 AppCompat로 전환하는 중입니다. 여기에 뭔가가로드되는 동안 진행 막대를 새로 고침 작업 항목으로 대체하는 데 사용되었습니다.ActionBarCompat (진행 막대를 ActionBar에 표시)로 Menu 객체를 가져 오는 방법
public void setRefreshButtonState(boolean refreshing) {
if (mOptionsMenu == null) {
return;
}
final MenuItem refreshItem = mOptionsMenu.findItem(R.id.action_refresh);
if (refreshItem != null) {
if (refreshing) {
refreshItem.setActionView(R.layout.actionbar_indeterminate_progress);
} else {
refreshItem.setActionView(null);
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
mOptionsMenu = menu;
return super.onCreateOptionsMenu(menu);
}
그러나 메뉴 APPCOMPAT의 일반 메뉴이기 때문에 (셜록과는 달리), 그것은 분명
Call requires API level 11 (current min is 9): android.view.MenuItem#setActionView
나는 모든 MenuItemCompat 정적 방법을 시도
,하지만 행운을 던졌습니다
감사합니다.
덕분에 같은 메뉴 객체하지만 메뉴 항목을 comapt 싶지 않다. 그것은 내 하루를 구했다. 나는 또한 Sherlock에서 Compat로 전환 중이다. – Andres