2013. 6. 28. 11:15
 

public class SHAnswerListActivity extends Activity implements DownloadListener{

	private int sendIndex;
	boolean usedIndex = false;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		getIntentMessage();
	}
	
	private void getIntentMessage() {
		Intent intent = getIntent();
		sendIndex = intent.getIntExtra("INDEX",-1);
		
		checkPreferenceWriteIndex();
		invalidateOptionsMenu();
	}
	
	
	
	
	private void checkPreferenceWriteIndex() {
		SharedPreferences indexPref = getSharedPreferences(PreferenceConfig.PREFERENCE_WRITE_INDEX, Context.MODE_PRIVATE);
		if (indexPref != null) {
			usedIndex = indexPref.getBoolean(""+sendIndex, false);

		} 
	}

	

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.actionbar_answer, menu);
		
		if (usedIndex) {
			menu.findItem(R.id.menu_write).setVisible(false);
		}
		
		//remove icon, title in actionbar
		getActionBar().setDisplayShowHomeEnabled(false);
		getActionBar().setDisplayShowTitleEnabled(false);
		return super.onCreateOptionsMenu(menu);
	}
actionbar icon menu 를 컨트롤 해야 할 때가 있습니다. invalidateOptionsMenu(); 를 호출해서 actionbar 를 reload 하는 방식으로 구현해야 합니다. 그리고 menu.findItem 를 통해 resource id 값을 찾고 setVisible 함수를 통해 visible/gone 을 선택하면 됩니다.
Posted by hoonihoon