Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8687111
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T23:02:18+00:00 2026-06-12T23:02:18+00:00

Not sure what the problem is exactly. I see action_menu_layout.xml in the logcat and

  • 0

Not sure what the problem is exactly. I see action_menu_layout.xml in the logcat and I’m not sure where that came from. I don’t see it listed in my androidmanifest.xml file. I suppose I need to remove this xml reference from somewhere but I’m not sure where to start?

Here is my main.java:

package com.smith.blackjack;

import android.os.Bundle;
import android.app.Activity;
import android.content.res.AssetManager;
import android.graphics.drawable.Drawable;

import java.io.IOException;
import java.io.InputStream;

import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class Main extends Activity {

private ImageView dealerCard0;
private ImageView dealerCard1;
private ImageView dealerCard2;
private ImageView dealerCard3;
private ImageView playerCard0;
private ImageView playerCard1;
private ImageView playerCard2;
private ImageView playerCard3;
private ImageView imgResult;
private Button btnDeal;
private Button btnDraw;
private Button btnHold;
private DeckOfCards deckOfCards;
private int[] dealerValues;
private int dealerSum;
private int dealerCardNumber;
private int[] playerValues;
private int playerSum;
private int playerCardNumber;
private InputStream dealerHiddenCard;
private Card dealerCard;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    dealerCard0 = (ImageView) findViewById(R.id.dealerCard0);
    dealerCard1 = (ImageView) findViewById(R.id.dealerCard1);
    dealerCard2 = (ImageView) findViewById(R.id.dealerCard2);
    dealerCard3 = (ImageView) findViewById(R.id.dealerCard3);

    playerCard0 = (ImageView) findViewById(R.id.playerCard0);
    playerCard1 = (ImageView) findViewById(R.id.playerCard1);
    playerCard2 = (ImageView) findViewById(R.id.playerCard2);
    playerCard3 = (ImageView) findViewById(R.id.playerCard3);

    imgResult = (ImageView) findViewById(R.id.imgResult);

    btnDeal = (Button) findViewById(R.id.deal);
    btnDraw = (Button) findViewById(R.id.draw);
    btnHold = (Button) findViewById(R.id.hold);

    btnDeal.setOnClickListener(btnDealListener);
    btnDraw.setOnClickListener(btnDrawListener);
    btnHold.setOnClickListener(btnHoldListener); 


    resetGame();

}

private void resetGame(){

    AssetManager assets = getAssets();
    dealerValues = new int[4];
    playerValues = new int[4];
    dealerSum = 0;
    playerSum = 0;
    dealerCardNumber = 0;
    playerCardNumber = 0;
    for (int i = 0; i < 4; i++) {
        dealerValues[i] = 0;
        playerValues[i] = 0;
    }

    try {
        InputStream stream; 
        stream = assets.open("cardback.png");
        Drawable cardImage = Drawable.createFromStream(stream,  "cardback");
        dealerCard0.setImageDrawable(cardImage);
        dealerCard1.setImageDrawable(cardImage);
        dealerCard2.setImageDrawable(cardImage);
        dealerCard3.setImageDrawable(cardImage);
        playerCard0.setImageDrawable(cardImage);
        playerCard1.setImageDrawable(cardImage);
        playerCard2.setImageDrawable(cardImage);
        playerCard3.setImageDrawable(cardImage);
        imgResult.setImageDrawable(cardImage);
        deckOfCards = new DeckOfCards();
        deckOfCards.shuffle();
        assets.close();
    }
    catch (IOException e){
        Log.e("Reset Game", "Error Loading", e);
    }
}

public OnClickListener btnDealListener = new OnClickListener()
{
//      @Override 
    public void onClick(View v) {


        try {
            AssetManager assets = getAssets();
            InputStream stream;

            // first player card
            Card newCard;
            newCard = deckOfCards.dealCard();
            playerValues[playerCardNumber] = newCard.faceValue;
            playerCardNumber++;             
            stream = assets.open(newCard.File);
            Drawable cardImage = Drawable.createFromStream(stream, newCard.File);
            playerCard0.setImageDrawable(cardImage);
            assets.close();

            // second player card
            newCard = deckOfCards.dealCard();
            playerValues[playerCardNumber] = newCard.faceValue;
            playerCardNumber++; 
            stream = assets.open(newCard.File);
            cardImage = Drawable.createFromStream(stream, newCard.File);
            playerCard1.setImageDrawable(cardImage);
            assets.close();

            // first dealer card hidden
            newCard = deckOfCards.dealCard();
            dealerCard = newCard;
            dealerValues[dealerCardNumber] = newCard.faceValue;
            dealerCardNumber++;
            dealerHiddenCard = assets.open(newCard.File);
            stream = assets.open("cardback.png");
            cardImage = Drawable.createFromStream(stream,  "cardback");
            dealerCard0.setImageDrawable(cardImage);
            assets.close();

            // second dealer card open
            newCard = deckOfCards.dealCard();
            dealerValues[dealerCardNumber] = newCard.faceValue;
            dealerCardNumber++;
            stream = assets.open(newCard.File);
            cardImage = Drawable.createFromStream(stream,  newCard.File);
            dealerCard1.setImageDrawable(cardImage);
            assets.close();
        }
        catch (IOException e){
            Log.e("Deal", "Error Loading", e);
        }

    };
};

public OnClickListener btnDrawListener = new OnClickListener()
{
//      @Override 
    public void onClick(View v) {
        try {
            AssetManager assets = getAssets();
            InputStream stream;

            // get next player card
            Card newCard;
            newCard = deckOfCards.dealCard();
            playerValues[playerCardNumber] = newCard.faceValue;
            playerCardNumber++;             
            stream = assets.open(newCard.File);
            Drawable cardImage = Drawable.createFromStream(stream, newCard.File);
            switch (playerCardNumber){
            case 3:
                playerCard2.setImageDrawable(cardImage);
            case 4:
                playerCard3.setImageDrawable(cardImage);
            }
            assets.close();
        }
        catch (IOException e){
            Log.e("Draw", "Error Loading", e);
        }
    };
};


public OnClickListener btnHoldListener = new OnClickListener()
{
//      @Override 
    public void onClick(View v) {
        Drawable cardImage;
        // evaluate player hand
        playerSum = evaluate(playerValues);
        if (playerSum > 21){
            // player losses
        }
        // flip over the dealer hidden card
        cardImage = Drawable.createFromStream(dealerHiddenCard, dealerCard.File);
        Card newCard;
        InputStream stream;
        AssetManager assets = getAssets();
        for (int i=2; i<4; i++){
            dealerSum = evaluate(dealerValues);
            if (dealerSum < 16 ) {
                newCard = deckOfCards.dealCard();
                dealerValues[dealerCardNumber] = newCard.faceValue;
                dealerCardNumber++;
                try {
                    stream = assets.open(newCard.File);
                    cardImage = Drawable.createFromStream(stream,  newCard.File);
                    switch (dealerCardNumber){
                    case 3:
                        dealerCard2.setImageDrawable(cardImage);
                    case 4:
                        dealerCard3.setImageDrawable(cardImage);
                    }
                    assets.close();
                }
                catch (IOException e){
                    Log.e("Draw", "Error Loading", e);
                } 
                if (dealerSum < playerSum) {
                    // player wins
                }
                if (dealerSum > playerSum){
                    // dealer wins
                }
                if (dealerSum == playerSum){
                    // it is a draw
                }
            }

        }


    };
};

public int evaluate (int[]values)   {
    int sumCards = 0;
    for (int i = 0; i < 4; i++){
        sumCards += values[i];
    }
    if (sumCards > 21) {
        for (int i = 0; i < 4; i++){
            if (values[i] == 11) {
                values[i] = 1;
                sumCards -= 10;
                continue;
            }
        }
    }
    return sumCards;
}

}

Here is my logcat:

10-15 21:59:08.448: E/AndroidRuntime(3070): FATAL EXCEPTION: main
10-15 21:59:08.448:E/AndroidRuntime(3070):android.content.res.Resources$NotFoundException: File res/layout/action_menu_layout.xml from xml type layout resource ID #0x109001b
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:2145)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:2100)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.content.res.Resources.getLayout(Resources.java:852)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at com.android.internal.view.menu.BaseMenuPresenter.getMenuView(BaseMenuPresenter.java:70)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at com.android.internal.view.menu.ActionMenuPresenter.getMenuView(ActionMenuPresenter.java:148)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at com.android.internal.widget.ActionBarView.setMenu(ActionBarView.java:427)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:385)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:747)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:2913)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.os.Handler.handleCallback(Handler.java:615)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.os.Looper.loop(Looper.java:137)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.app.ActivityThread.main(ActivityThread.java:4745)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at java.lang.reflect.Method.invokeNative(Native Method)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at java.lang.reflect.Method.invoke(Method.java:511)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at dalvik.system.NativeStart.main(Native Method)
10-15 21:59:08.448: E/AndroidRuntime(3070): Caused by: java.lang.RuntimeException: Assetmanager has been closed
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:485)
10-15 21:59:08.448: E/AndroidRuntime(3070):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:2127)
10-15 21:59:08.448: E/AndroidRuntime(3070):     ... 18 more

Here is my AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.smith.blackjack"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".Main"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T23:02:19+00:00Added an answer on June 12, 2026 at 11:02 pm

    Always check the root cause, i.e. the last exception in the chain:
    Caused by: java.lang.RuntimeException: Assetmanager has been closed

    You probably mess around with resources in the Java code, look around, or maybe something is wrong with the Activity lifecycle, anything “hacky” static?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to debug this problem but not sure where exactly i need to
Not sure what could be the problem. I'm dumping data from an array $theArray
I'm running ubuntu 12.04 and matlab R2012a. Not sure what the problem is exactly,
I am not sure if the problem lies with the apache server or batik.
I'm not sure what the problem is here, I've inherited some code form Zend
The tags might not be accurate since I am not sure where the problem
we're having this toshiba barcode printer. I'm not sure whether this problem is hardware
Not sure the title fully describes the problem/question I'm trying to ask, sorry. One
I'm not 100% sure if the problem is with openTK but it is the
i'm not sure how to solve the following problem: i have a triangle with

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.