-3

I'm developing an android game, and I'm stuck with this problem.
This is the secondary activity, when I click the button that takes me to the second activity, it shows some errors, I'm trying to figure this out on my on by searching and experimenting by my self, but it didn't work
This is my activity :

package game.esolindo.com.gametest;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;


public class MoneyActivity extends ActionBarActivity {

private TextView txtMoney;
private Button btnWork;
private Button btnBuyClothes;
int workMoney = 15;
int buyClothesMoney = 20;
int currentMoney;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_money);

    txtMoney = (TextView)findViewById(R.id.txtMoney);

    btnWork = (Button)findViewById(R.id.btnWork);
    btnWork.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            currentMoney = currentMoney + workMoney;
            txtMoney.setText(String.valueOf(currentMoney));
        }
    });

    btnBuyClothes = (Button)findViewById(R.id.btnBuyClothes);
    btnBuyClothes.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            currentMoney = currentMoney - buyClothesMoney;
            txtMoney.setText(String.valueOf(currentMoney));
        }
    });

    txtMoney.setText(currentMoney);
}
}

This is my xml file :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="game.esolindo.com.gametest.MoneyActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Money"
    android:id="@+id/txtMoneyText"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="10dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="0"
    android:textSize="50sp"
    android:id="@+id/txtMoney"
    android:layout_below="@+id/txtMoneyText"
    android:layout_centerHorizontal="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Work"
    android:id="@+id/btnWork"
    android:layout_marginTop="20dp"
    android:layout_below="@+id/txtMoney"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Buy Clothes"
    android:id="@+id/btnBuyClothes"
    android:layout_below="@+id/btnWork"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

And this is the error message I received :

01-14 04:00:15.927  22640-22640/game.esolindo.com.gametest E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: game.esolindo.com.gametest, PID: 22640
    java.lang.RuntimeException: Unable to start activity ComponentInfo{game.esolindo.com.gametest/game.esolindo.com.gametest.MoneyActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x0
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0
            at android.content.res.Resources.getText(Resources.java:244)
            at android.widget.TextView.setText(TextView.java:3888)
            at game.esolindo.com.gametest.MoneyActivity.onCreate(MoneyActivity.java:46)
            at android.app.Activity.performCreate(Activity.java:5231)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)

Please help me fix this
Thanks in advance

1 Answers1

7

currentMoney is an int so setText will look for a resource. Please use String.valueOf(currentMoney)

0xDEADC0DE
  • 2,453
  • 1
  • 17
  • 22
  • what do you mean? I already did that – Michael Reno Pratama Setyawan Jan 14 '16 at 09:30
  • No you're doing `txtMoney.setText(currentMoney)` on the last line of your onCreate(). currentMoney is an int so setText will look for a string resource (`R.string.something`) and those resources usually start somewhere around 2000000 and up. Your currentMoney is probably not that high, hence `setText` cannot find your string resource – 0xDEADC0DE Jan 14 '16 at 09:33