{"id":2279,"date":"2022-08-30T15:23:32","date_gmt":"2022-08-30T15:23:32","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/01\/05\/why-is-using-textview-to-update-int-value-and-display-it-giving-me-a-crash-collection-of-common-programming-errors\/"},"modified":"2022-08-30T15:23:32","modified_gmt":"2022-08-30T15:23:32","slug":"why-is-using-textview-to-update-int-value-and-display-it-giving-me-a-crash-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2022\/08\/30\/why-is-using-textview-to-update-int-value-and-display-it-giving-me-a-crash-collection-of-common-programming-errors\/","title":{"rendered":"Why is using TextView to update int value and display it giving me a crash?-Collection of common programming errors"},"content":{"rendered":"<p>Im trying to develop a text adventure for android. Already found a subtle way to change &#8216;pages&#8217; without creating new Activity.<\/p>\n<p>Now I was trying to include permanent int values on each of my layouts that would get updated immediately when changed.<\/p>\n<p>I.e. gold\/health values. Depending on the choice of player ingame, it would: &#8211; change the layout to the corresponding page &#8211; change int value of Gold +10, health -1<\/p>\n<p>I developed this code in the mainactivity class:<\/p>\n<pre><code>package com.example.textadventure;\n\nimport android.app.Activity;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.TextView;\n\npublic class MainActivity extends Activity {\n\n    private int int1 = 1;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n    }\n\n    public void changelayout1(View view){\n        setContentView(R.layout.activity_main2);\n        int1 += 1;\n    }\n    public void changelayout2(View view){\n        setContentView(R.layout.activity_main);\n        int1 += 1;\n    }\n    public void changelayout3(View view){\n        setContentView(R.layout.activity_main3);\n        int1 += 1;\n    }\n\n\n\n    public void onResume() {\n        super.onResume();\n        TextView textView = (TextView) this.findViewById(R.id.mytextview1);\n        textView.setText(String.valueOf(int1));\n    }\n\n\n\n}\n<\/code><\/pre>\n<p><strong>with the following result:<\/strong><\/p>\n<p>My LogCat<\/p>\n<pre><code>04-19 16:09:57.446: E\/Trace(3204): error opening trace file: No such file or directory (2)\n04-19 16:09:59.016: D\/AndroidRuntime(3204): Shutting down VM\n04-19 16:09:59.016: W\/dalvikvm(3204): threadid=1: thread exiting with uncaught exception (group=0x40a71930)\n04-19 16:09:59.036: E\/AndroidRuntime(3204): FATAL EXCEPTION: main\n04-19 16:09:59.036: E\/AndroidRuntime(3204): java.lang.RuntimeException: Unable to resume activity {com.example.textadventure\/com.example.textadventure.MainActivity}: java.lang.NullPointerException\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.ActivityThread.access$600(ActivityThread.java:141)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.os.Handler.dispatchMessage(Handler.java:99)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.os.Looper.loop(Looper.java:137)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.ActivityThread.main(ActivityThread.java:5041)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at java.lang.reflect.Method.invokeNative(Native Method)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at java.lang.reflect.Method.invoke(Method.java:511)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at dalvik.system.NativeStart.main(Native Method)\n04-19 16:09:59.036: E\/AndroidRuntime(3204): Caused by: java.lang.NullPointerException\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at com.example.textadventure.MainActivity.onResume(MainActivity.java:28)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.Activity.performResume(Activity.java:5182)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2732)\n04-19 16:09:59.036: E\/AndroidRuntime(3204):     ... 12 more\n04-19 16:10:02.386: I\/Process(3204): Sending signal. PID: 3204 SIG: 9\n04-19 16:15:42.576: D\/AndroidRuntime(3292): Shutting down VM\n04-19 16:15:42.586: W\/dalvikvm(3292): threadid=1: thread exiting with uncaught exception (group=0x40a71930)\n04-19 16:15:42.596: E\/AndroidRuntime(3292): FATAL EXCEPTION: main\n04-19 16:15:42.596: E\/AndroidRuntime(3292): java.lang.RuntimeException: Unable to resume activity {com.example.textadventure\/com.example.textadventure.MainActivity}: java.lang.NullPointerException\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.ActivityThread.access$600(ActivityThread.java:141)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.os.Handler.dispatchMessage(Handler.java:99)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.os.Looper.loop(Looper.java:137)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.ActivityThread.main(ActivityThread.java:5041)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at java.lang.reflect.Method.invokeNative(Native Method)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at java.lang.reflect.Method.invoke(Method.java:511)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at dalvik.system.NativeStart.main(Native Method)\n04-19 16:15:42.596: E\/AndroidRuntime(3292): Caused by: java.lang.NullPointerException\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at com.example.textadventure.MainActivity.onResume(MainActivity.java:31)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.Activity.performResume(Activity.java:5182)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2732)\n04-19 16:15:42.596: E\/AndroidRuntime(3292):     ... 12 more\n04-19 16:18:00.358: E\/Trace(3350): error opening trace file: No such file or directory (2)\n04-19 16:18:01.796: D\/AndroidRuntime(3350): Shutting down VM\n04-19 16:18:01.810: W\/dalvikvm(3350): threadid=1: thread exiting with uncaught exception (group=0x40a71930)\n04-19 16:18:01.866: E\/AndroidRuntime(3350): FATAL EXCEPTION: main\n04-19 16:18:01.866: E\/AndroidRuntime(3350): java.lang.RuntimeException: Unable to resume activity {com.example.textadventure\/com.example.textadventure.MainActivity}: java.lang.NullPointerException\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.ActivityThread.access$600(ActivityThread.java:141)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.os.Handler.dispatchMessage(Handler.java:99)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.os.Looper.loop(Looper.java:137)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.ActivityThread.main(ActivityThread.java:5041)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at java.lang.reflect.Method.invokeNative(Native Method)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at java.lang.reflect.Method.invoke(Method.java:511)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at dalvik.system.NativeStart.main(Native Method)\n04-19 16:18:01.866: E\/AndroidRuntime(3350): Caused by: java.lang.NullPointerException\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at com.example.textadventure.MainActivity.onResume(MainActivity.java:31)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.Activity.performResume(Activity.java:5182)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2732)\n04-19 16:18:01.866: E\/AndroidRuntime(3350):     ... 12 more\n04-19 16:22:06.477: E\/Trace(3412): error opening trace file: No such file or directory (2)\n04-19 16:22:08.086: D\/AndroidRuntime(3412): Shutting down VM\n04-19 16:22:08.116: W\/dalvikvm(3412): threadid=1: thread exiting with uncaught exception (group=0x40a71930)\n04-19 16:22:08.207: E\/AndroidRuntime(3412): FATAL EXCEPTION: main\n04-19 16:22:08.207: E\/AndroidRuntime(3412): java.lang.RuntimeException: Unable to resume activity {com.example.textadventure\/com.example.textadventure.MainActivity}: java.lang.NullPointerException\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.ActivityThread.access$600(ActivityThread.java:141)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.os.Handler.dispatchMessage(Handler.java:99)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.os.Looper.loop(Looper.java:137)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.ActivityThread.main(ActivityThread.java:5041)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at java.lang.reflect.Method.invokeNative(Native Method)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at java.lang.reflect.Method.invoke(Method.java:511)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at dalvik.system.NativeStart.main(Native Method)\n04-19 16:22:08.207: E\/AndroidRuntime(3412): Caused by: java.lang.NullPointerException\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at com.example.textadventure.MainActivity.onResume(MainActivity.java:35)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.Activity.performResume(Activity.java:5182)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2732)\n04-19 16:22:08.207: E\/AndroidRuntime(3412):     ... 12 more\n04-19 16:22:10.786: I\/Process(3412): Sending signal. PID: 3412 SIG: 9\n04-19 16:25:22.020: D\/AndroidRuntime(3477): Shutting down VM\n04-19 16:25:22.020: W\/dalvikvm(3477): threadid=1: thread exiting with uncaught exception (group=0x40a71930)\n04-19 16:25:22.026: E\/AndroidRuntime(3477): FATAL EXCEPTION: main\n04-19 16:25:22.026: E\/AndroidRuntime(3477): java.lang.RuntimeException: Unable to resume activity {com.example.textadventure\/com.example.textadventure.MainActivity}: java.lang.NullPointerException\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.ActivityThread.access$600(ActivityThread.java:141)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.os.Handler.dispatchMessage(Handler.java:99)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.os.Looper.loop(Looper.java:137)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.ActivityThread.main(ActivityThread.java:5041)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at java.lang.reflect.Method.invokeNative(Native Method)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at java.lang.reflect.Method.invoke(Method.java:511)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at dalvik.system.NativeStart.main(Native Method)\n04-19 16:25:22.026: E\/AndroidRuntime(3477): Caused by: java.lang.NullPointerException\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at com.example.textadventure.MainActivity.onResume(MainActivity.java:36)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.Activity.performResume(Activity.java:5182)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2732)\n04-19 16:25:22.026: E\/AndroidRuntime(3477):     ... 12 more\n<\/code><\/pre>\n<p>As i said i want to have something like this:<\/p>\n<p>http:\/\/postimg.org\/image\/dy7g2ts6v\/<\/p>\n<p>I already know how to make buttons to switch layouts, but I can&#8217;t display the integers without crash. \ud83d\ude41<\/p>\n<ol>\n<li>\n<p>Do it like this:<\/p>\n<pre><code>private Integer int1 = 1;\n<\/code><\/pre>\n<p>and below<\/p>\n<pre><code>TextView textView = (TextView) findViewById(R.id.mytextview1);\ntextView.setText(int1.toString());\n<\/code><\/pre>\n<p>Notice you don&#8217;t need this.findViewById , just use findViewById directly.<\/p>\n<\/li>\n<li>\n<pre><code>TextView tv;\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.activity_main);\n    tv= (TextView) findViewById(R.id.tv);\n    \/\/textview with id should be defined in activity_main.xml \n    \/\/set text to textview.\n}\n<\/code><\/pre>\n<p>Make sure you have a text view in activity_main. since you have set the layout with activity_main you need to make sure you have textview in activity_main<\/p>\n<p>http:\/\/developer.android.com\/training\/basics\/activity-lifecycle\/starting.html<\/p>\n<p><strong>You must implement the onCreate() method to perform basic application startup logic that should happen only once for the entire life of the activity<\/strong>. You can initialize textiew in oncreate.<\/p>\n<p>Suppose activity pauses and resumes onReusme() is called, then evry time you wwould be finding the id of textview. So initialize textiew in oncreate.<\/p>\n<p>It is better to start a new activity or use fragments instead of setting different layout&#8217;s to the same screen.<\/p>\n<p>activity_main<\/p>\n<pre><code>\n\n\n\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<p id=\"rop\"><small>Originally posted 2014-01-05 09:49:07. <\/small><\/p>","protected":false},"excerpt":{"rendered":"<p>Im trying to develop a text adventure for android. Already found a subtle way to change &#8216;pages&#8217; without creating new Activity. Now I was trying to include permanent int values on each of my layouts that would get updated immediately when changed. I.e. gold\/health values. Depending on the choice of player ingame, it would: &#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2279","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/2279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=2279"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/2279\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=2279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=2279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=2279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}