Reputation: 47
I have Constant.java in my android studio project. And i have a menu for my application. i want change strings with menu item clicks. How can i do this?
Here is my constant.java file.
public class Constant implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
//server url
public static final String SERVER_URL= BuildConfig.server_url;
public static final String IMAGE_PATH_URL =SERVER_URL+"images/";
public static final String CATEGORY_URL = SERVER_URL+"api.php?cat_list";
}
And here is my drawer_menu.xml file
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/menu_go_home"
android:checked="true"
android:icon="@drawable/ic_d_home"
android:title="@string/menu_home" />
<item
android:id="@+id/menu_go_category"
android:checked="false"
android:icon="@drawable/ic_d_category"
android:title="@string/menu_category" />
<item
android:id="@+id/menu_go_diziler"
android:checked="false"
android:icon="@drawable/ic_d_category"
android:title="Diziler" />
<item
android:id="@+id/menu_go_latest"
android:checked="false"
android:icon="@drawable/ic_d_latest"
android:title="@string/menu_latest" />
<item
android:id="@+id/menu_go_all"
android:checked="false"
android:icon="@drawable/ic_d_video"
android:title="@string/menu_all" />
<item
android:id="@+id/menu_go_favourite"
android:checked="false"
android:icon="@drawable/ic_d_favorite"
android:title="@string/menu_favorite" />
<item
android:id="@+id/menu_go_rate"
android:checkable="false"
android:icon="@drawable/ic_d_rate"
android:title="@string/menu_rate" />
<item
android:id="@+id/menu_go_share"
android:checkable="false"
android:icon="@drawable/ic_d_share"
android:title="@string/menu_share" />
<item
android:id="@+id/menu_go_more"
android:checkable="false"
android:icon="@drawable/ic_d_more"
android:title="@string/menu_more" />
<item
android:id="@+id/menu_go_about"
android:checked="false"
android:icon="@drawable/ic_d_about"
android:title="@string/menu_about" />
<item
android:id="@+id/menu_go_privacy"
android:checked="false"
android:icon="@drawable/ic_d_privacy"
android:title="@string/menu_privacy" />
</group>
</menu>
Now for example when i click on menu item withandroid:id="@+id/menu_go_category"
id, i want change string named on Constant.java with
public static final String CATEGORY_URL = SERVER_URL+"api.php?cat_list";
to
public static final String CATEGORY_URL = SERVER_URL+"api.php?menu_go_category (or anything else)
How can i do this?
Note: My Constant.java file and drawer_menu.xml files are at diffrent packages
Upvotes: 0
Views: 223
Reputation: 1464
Try this.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.drawer_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.menu_go_home:
String itemTitle = item.getTitle();
Constant.CATEGORY_URL = SERVER_URL+"api.php? + itemTitle;
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Upvotes: 1