Projemde, CountDownTimer öğesinden devralınan bir sınıf var ve onFinish() yönteminde belirli bir MenuItem Simgesini değiştirmek istiyorum. Ama kod işe yaramadı. Eğer onCreateOptionsMenu()
yöntemin dışında menü öğelerini değiştirdiğinizdeAndroid'de normal java sınıfından MenuItem simgesini nasıl değiştirebilirim?
@Override
public void onFinish() {
Menu menu = newMenuInstance(context);
MenuInflater menuInflater = new MenuInflater(context);
menuInflater.inflate(R.menu.menu_main, menu);
menu.findItem(R.id.menu_work).setIcon(R.mipmap.ic_action_tick);
}
protected Menu newMenuInstance(Context context) {
try {
Class<?> menuBuilderClass = Class.forName("com.android.internal.view.menu.MenuBuilder");
Constructor<?> constructor = menuBuilderClass.getDeclaredConstructor(Context.class);
return (Menu) constructor.newInstance(context);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
invalidateOptionsMenu() ekleyin; Yeni simge –
Hi Yasir ayarlandıktan sonra onFinish() yönteminde, CountDownTimer sınıfım bir etkinlik veya parçanın iç sınıfı değil, etkinliğin dışındaki invalidateOptionsMenu() yöntemini kullanmanın bir yolu var mı? – KevinWang
Bu işlevi yalnızca, ilgili etkinlik başvurusu –