#java #android-studio #android-emulator #android-menu
Вопрос:
Я пытаюсь создать приложение для погоды, и я почти закончил.У меня в приложении есть меню.Сначала я добавил 2 пункта в меню. Затем мне пришлось добавить еще один пункт. Но он не показывает пункт, который я добавил в меню. Появится элемент, который я добавил в XML-файл меню, но он не отображается как эмулятор. Пункты, которые я добавил при создании первого меню, появляются постоянно. может кто-нибудь сказать мне, почему это происходит ?. Я поделился своими единственными соответствующими кодами ниже. Если вы хотите, чтобы я добавил какой-либо другой код, я могу добавить его.
Мое меню xml
lt;?xml version="1.0" encoding="utf-8"?gt; lt;menu xmlns:android="http://schemas.android.com/apk/res/android" gt; lt;item android:title="Add city" gt; lt;menugt; lt;item android:id="@ id/addcity" android:title="Add city"gt; lt;/itemgt; lt;item android:id="@ id/showCities" android:title="Show cities"gt; lt;/itemgt; lt;/menugt; lt;/itemgt; lt;item android:title="Show Forecast" gt; lt;menugt; lt;item android:id="@ id/show_5dayforecast" android:title="Show 5 day forecast"gt; lt;/itemgt; lt;item android:id="@ id/Show5DayCityForecast" android:title="Show city forecast"gt; lt;/itemgt; lt;/menugt; lt;/itemgt; lt;/menugt;
Моя главная
Я сделал пользовательскую панель инструментов в качестве панели действий и установил ее в init()
public void init() { Toolbar toolbar = (Toolbar) findViewById(R.id.MyToolbar); setSupportActionBar(toolbar); }
И мои коды меню
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu,menu); return true; } @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.addcity: Intent intent = new Intent(MainActivity.this, addcity.class); startActivity(intent); return true; case R.id.showCities: Intent intentTocities = new Intent(MainActivity.this, cities.class); startActivity(intentTocities); return true; case R.id.show_5dayforecast: Double latitude = Latitude; Double longitude = Longitude; Intent intentToShow5DayForecast = new Intent(MainActivity.this,forecast.class); intentToShow5DayForecast.putExtra("lat",latitude); intentToShow5DayForecast.putExtra("long",longitude); startActivity(intentToShow5DayForecast); return true; case R.id.Show5DayCityForecast: Intent intentToShowForecastCity = new Intent(MainActivity.this, cityForecast.class); intentToShowForecastCity.putExtra("cityname",cityname); startActivity(intentToShowForecastCity); return true; default: return super.onOptionsItemSelected(item); } }
My manifest file
lt;?xml version="1.0" encoding="utf-8"?gt; lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.enestigli.WeatherAPP"gt; lt;uses-permission android:name="android.permission.WAKE_LOCK" /gt; lt;uses-permission android:name="android.permission.INTERNET" /gt; lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /gt; lt;application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.HavaDurumuProjesi2" android:usesCleartextTraffic="true"gt; lt;activity android:name=".CityForecast.cityForecast"gt;lt;/activitygt; lt;activity android:name=".RecyclerView.cities" /gt; lt;activity android:name=".Forecast.forecast" /gt; lt;activity android:name=".AddCity.addcity" /gt; lt;activity android:name=".Main.MainActivity" android:screenOrientation="portrait"gt; lt;intent-filtergt; lt;action android:name="android.intent.action.MAIN" /gt; lt;category android:name="android.intent.category.LAUNCHER" /gt; lt;/intent-filtergt; lt;/activitygt; lt;/applicationgt;
APPEARING ON MY EMULATOR
APPEARING ON MY MENU