質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

15572閲覧

null object referenceの解消方法

taro_yamada

総合スコア55

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/10/29 14:30

android studio でタブでフラグメントを切り替えるプログラムを書いているのですが、以下のようなエラーが出て実行できません。
どなたか良い解決方法はありませんでしょうか?

java

1package com.example.you_1_low.tabtest; 2 3import android.os.Build; 4import android.support.annotation.RequiresApi; 5import android.support.v4.view.ViewPager; 6import android.support.v7.app.AppCompatActivity; 7import android.os.Bundle; 8import android.view.View; 9import android.widget.TextView; 10 11public class MainActivity extends AppCompatActivity { 12 TextView camera, chat, status, call; 13 ViewPager viewPager; 14 PagerViewAdapter pagerViewAdapter; 15 16 17 @Override 18 protected void onCreate(Bundle savedInstanceState) { 19 super.onCreate(savedInstanceState); 20 setContentView(R.layout.activity_main); 21 camera = (TextView)findViewById(R.id.camera); 22 camera = (TextView)findViewById(R.id.chat); 23 camera = (TextView)findViewById(R.id.status); 24 camera = (TextView)findViewById(R.id.call); 25 viewPager = (ViewPager)findViewById(R.id.fragment_container); 26 27 pagerViewAdapter = new PagerViewAdapter(getSupportFragmentManager()); 28 29 viewPager.setAdapter(pagerViewAdapter); 30 31 camera.setOnClickListener(new View.OnClickListener(){ 32 33 @Override 34 public void onClick(View v) { 35 36 37 viewPager.setCurrentItem(0); 38 } 39 }); 40 41 chat.setOnClickListener(new View.OnClickListener(){ 42 43 @Override 44 public void onClick(View v) { 45 46 47 viewPager.setCurrentItem(1); 48 } 49 }); 50 51 status.setOnClickListener(new View.OnClickListener(){ 52 53 @Override 54 public void onClick(View v) { 55 56 57 viewPager.setCurrentItem(2); 58 } 59 }); 60 61 call.setOnClickListener(new View.OnClickListener(){ 62 63 @Override 64 public void onClick(View v) { 65 66 67 viewPager.setCurrentItem(3); 68 } 69 }); 70 71 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){ 72 73 @Override 74 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 75 76 } 77 78 @Override 79 public void onPageSelected(int position) { 80 81 onChangeTab(position); 82 83 } 84 85 @Override 86 public void onPageScrollStateChanged(int state) { 87 88 } 89 }); 90 91 92 } 93 94 @RequiresApi(api = Build.VERSION_CODES.M) 95 private void onChangeTab(int position) { 96 if(position == 0) 97 { 98 camera.setTextSize(20); 99 camera.setTextColor(getColor(R.color.bright_color)); 100 101 chat.setTextSize(20); 102 chat.setTextColor(getColor(R.color.light_color)); 103 104 status.setTextSize(20); 105 status.setTextColor(getColor(R.color.bright_color)); 106 107 call.setTextSize(20); 108 call.setTextColor(getColor(R.color.bright_color)); 109 } 110 111 if(position == 1) 112 { 113 camera.setTextSize(25); 114 camera.setTextColor(getColor(R.color.light_color)); 115 116 chat.setTextSize(25); 117 chat.setTextColor(getColor(R.color.light_color)); 118 119 status.setTextSize(25); 120 status.setTextColor(getColor(R.color.bright_color)); 121 122 call.setTextSize(25); 123 call.setTextColor(getColor(R.color.bright_color)); 124 } 125 126 if(position == 2) 127 { 128 camera.setTextSize(25); 129 camera.setTextColor(getColor(R.color.light_color)); 130 131 chat.setTextSize(25); 132 chat.setTextColor(getColor(R.color.light_color)); 133 134 status.setTextSize(25); 135 status.setTextColor(getColor(R.color.bright_color)); 136 137 call.setTextSize(25); 138 call.setTextColor(getColor(R.color.bright_color)); 139 } 140 141 if(position == 3) 142 { 143 camera.setTextSize(25); 144 camera.setTextColor(getColor(R.color.light_color)); 145 146 chat.setTextSize(25); 147 chat.setTextColor(getColor(R.color.light_color)); 148 149 status.setTextSize(25); 150 status.setTextColor(getColor(R.color.bright_color)); 151 152 call.setTextSize(25); 153 call.setTextColor(getColor(R.color.bright_color)); 154 } 155 } 156} 157

エラー詳細
2018-10-29 23:22:11.113 4732-4732/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.you_1_low.tabtest, PID: 4732
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.you_1_low.tabtest/com.example.you_1_low.tabtest.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.you_1_low.tabtest.MainActivity.onCreate(MainActivity.java:41)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6119) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーが出ているのは、値が代入されていない変数chatを参照しているからです。このコードだと、statusとcallという変数も同じ問題を抱えています。

onCreate()の序盤で

java

1 camera = (TextView)findViewById(R.id.camera); 2 camera = (TextView)findViewById(R.id.chat); 3 camera = (TextView)findViewById(R.id.status); 4 camera = (TextView)findViewById(R.id.call);

のように同じ変数に何度も値を代入していますが、これが打ち間違いなのでは?

投稿2018/10/29 14:50

keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taro_yamada

2018/10/29 15:04

動きました! とてもお恥ずかしい質問で大変失礼しました! またよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問