Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过单击菜单更改字符串_Java_Android_Android Menu - Fatal编程技术网

Java 通过单击菜单更改字符串

Java 通过单击菜单更改字符串,java,android,android-menu,Java,Android,Android Menu,我的android studio项目中有Constant.java。我有我的应用程序的菜单。我希望通过单击菜单项来更改字符串。我该怎么做 这是我的constant.java文件 public class Constant implements Serializable{ /** * */ private static final long serialVersionUID = 1L; //server url public static

我的android studio项目中有Constant.java。我有我的应用程序的菜单。我希望通过单击菜单项来更改字符串。我该怎么做

这是我的constant.java文件

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";
}
这是我的drawer_menu.xml文件

<?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>

现在,例如,当我用
android:id=“@+id/menu\u go\u category”
id单击菜单项时,我想用
public static final String CATEGORY\u URL=SERVER\u URL+“api.php?cat\u list”
public static final String CATEGORY\u URL=SERVER\u URL+“api.php?菜单\u go\u CATEGORY(或任何其他内容)

我该怎么做

注意:我的Constant.java文件和drawer_menu.xml文件位于不同的包中

试试这个

@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);
  }
}

您不能使用
final
关键字更改变量的值我知道。删除final关键字没有问题。当我删除此关键字时,我该怎么做?但我的常量文件不活动,因此我无法使用@override@AhmetÖzcan这将进入有抽屉的
MainActivity.java
,而不是
Constant.java