表示する大学のリストを表示しているので、詳細なページに行く大学をクリックしてください。そこに通知のメニューバーとFavourite_icon
があります。私はFavourite_icon
とFavourite_icon1
を持っています。ユーザーがfavourite_icon
をクリックしてサーバーに保存され、アイコンがFavourite_icon1
に変更された場合。いくつかのプロセスを経た後、私はFavourited大学を訪れました。メニューバーにFavourite_icon1
が表示されるはずです。私は次の方法を試みたが、何も起こらない。私は私がしようとしているコードを追加した最初にサーバーの応答に応じてメニューバーのアイコンを設定する方法
これは大学が既にonCreate()
でお気に入り化(favourited)するかしないwheatherチェックするためのコードで
private boolean canAddItem;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_clg, menu);
mMenu = menu;
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_notify:
navigatetoNotification();
return true;
case R.id.action_favourite:
if (item.getItemId() == R.id.action_favourite) {
invalidateOptionsMenu();
favouriteClg();
}
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (canAddItem) {
menu.getItem(1).setIcon(R.drawable.vijay);
canAddItem = false;
favouriteClg();
} else {
menu.getItem(1).setIcon(R.drawable.favourite_icon);
canAddItem = true;
favouriteClg();
}
return super.onPrepareOptionsMenu(menu);
}
menu_clg.xml
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:appmunu="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".UserDashBoardFragment">
<item
android:id="@+id/action_notify"
android:icon="@drawable/mail_icon"
appmunu:showAsAction="always"
android:title="Notification" />
<item
android:id="@+id/action_favourite"
android:icon="@drawable/icon_selector"
appmunu:showAsAction="always"
android:title="Favourite" />
</menu>
このアクティビティコード方法
public void chechFavourite() {
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... arg0) {
//method name changed here
//getAllEventFromUser method used for getting all previously send events of current user
return favouriteDelegates.getAllCollegeDetails(userMO, context);
}
@Override
protected void onPostExecute(String collegelists) {
if (collegelists != "null") {
initCollegeMO = gson.fromJson(collegelists, new TypeToken<InitCollegeMO>() {
}.getType());
collegeMOs = initCollegeMO.getCollegeMOs();
for (CollegeMO collegeMO1 : collegeMOs) {
//here the list of college has eceived from server so i checked all the college id with current college id
collegeId = collegeMO1.getCollegeId(); //here collegeMO isthe object which is accessed by parcelable from another activity
if (collegeMO.getCollegeId() == collegeId) {
canAddItem = true;
} else {
canAddItem = false;
}
}
} else {
canAddItem = false;
}
}
}.execute(null, null, null);
}
}
i)は、私は私が(このupdateMenuTitlesを追加する必要があります編集1 –
@vijayg favourite_iconそうfavourite_icon1を設定する必要がお気に入り化(favourited)場合は、そのはすでにお気に入りのかそうでないwheatherチェックする必要があり、私の描画可能にイメージを持っています方法。 oncreate()で? –
をチェックし、 –