錯誤:
E/AndroidRuntime:致命例外:主行程:com.example.myapplication,PID:8501 android.content.res.Resources$NotFoundException:資源 ID #0x7f070058 at android.content.res.Resources.getValue(Resources.java:1266)在 androidx.appcompat.widget.ResourceManagerInternal.loadDrawableFromDelegates(ResourceManagerInternal.java:255) 在 androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:142) 在 androidx.appcompat.widget.ResourceManagerInternal.getDrawable(javaManager3) ) 在 androidx.appcompat.content.res.AppCompatResources.getDrawable(AppCompatResources.java:104) 在 androidx.appcompat.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:505) 在 androidx.appcompat.view.menu.ListMenuItemView。在 androidx.appcompat.view.menu.MenuAdapter.getView(MenuAdapter.java:109) 在 androidx.appcompat.view.menu.MenuPopup.measureIndividualMenuWidth(MenuPopup.java:161) 在 androidx.appcompat.view.menu.StandardMenuPopup.tryShow(StandardMenuPopup.java:174) 在 androidx.appcompat.view.menuPupupStandard .show(StandardMenuPopup.java:208) at androidx.appcompat.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:296) at androidx.appcompat.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:182.androidx) appcompat.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:792) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os .Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke (Method.java:372) 在 com。android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
第一屏活動:
package com.example.myapplication;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
public class FirstScreenActivity extends AppCompatActivity {
public static final String EXTRA_OPTION="category";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first_screen);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
{
getMenuInflater().inflate(R.menu.mymenu,menu);
return true;
}
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
//get the item id selected
String option = "default";
//update option according to the selected item
switch(item.getItemId())
{
case R.id.Animals:
{
option = "Animals";
break;
}
case R.id.Sport:
{
option = "Sport";
break;
}
}
//send intent to secondScreenActivity with parameter options
Intent intent = new Intent(this, SecondScreenActivity.class);
intent.putExtra(EXTRA_OPTION,option);
startActivity(intent);
finish();
return true;
}
}
第二螢屏活動:
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
public class SecondScreenActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_screen);
TextView tvCat = findViewById(R.id.tvCat);
ImageView ivPic = findViewById(R.id.ivPic);
Intent intent = getIntent();
String option = intent.getStringExtra(FirstScreenActivity.EXTRA_OPTION);
switch(option)
{
case "Animals":
{
tvCat.setText("Animals");
tvCat.setTextSize(30);
ivPic.setImageResource(R.drawable.butterfly);
}
case "Sport":
{
tvCat.setText("Sport");
tvCat.setTextSize(30);
ivPic.setImageResource(R.drawable.basketball);
}
}
}
}
顯現:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="MyApplication"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplication">
<activity android:name=".SecondScreenActivity"></activity>
<activity android:name=".FirstScreenActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
第二個活動 XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".SecondScreenActivity"
android:weightSum="10">
<TextView
android:id="@ id/tvCat"
android:layout_weight="5"
android:layout_width="match_parent"
android:layout_height="0dp" />
<ImageView
android:id="@ id/ivPic"
android:layout_weight="5"
android:layout_width="match_parent"
android:layout_height="0dp"/>
</LinearLayout>
我的選單 XML:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@ id/Sport"
android:icon="@drawable/basketball"
android:orderInCategory="100"
android:title="Sport"
app:showAsAction="never"/>
<item
android:id="@ id/Animals"
android:icon="@drawable/butterfly"
android:orderInCategory="100"
android:title="Animals"
app:showAsAction="never"
/>
</menu>
就是這樣,當您單擊該專案時,我正在嘗試創建一個帶有圖片(1 張籃球和 1 張蝴蝶)的選項選單。
如果您需要整個 ZIP,請在此處:下載 ZIP 檔案
提前致謝!:)
uj5u.com熱心網友回復:
問題出在你的butterfly.png和basketball.png放置的錯誤目錄中。
只需將這些影像移動drawable-v24到drawable
uj5u.com熱心網友回復:
Ganesh MB 提到的答案是正確的。但我注意到另一個問題。它在您的清單中。我看到第二個活動中沒有匯出行。
所以,更換
<activity android:name=".SecondScreenActivity"></activity>
在你的清單中
<activity android:name=".SecondScreenActivity"
android:exported="true"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/357548.html
標籤:爪哇 安卓 xml 安卓工作室 android-清单
