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

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

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

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

Q&A

解決済

null object referenceの解消方法

taro_yamada
taro_yamada

総合スコア55

Android Studio

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

1回答

0グッド

0クリップ

12740閲覧

投稿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)

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

1

ベストアンサー

エラーが出ているのは、値が代入されていない変数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

総合スコア6758

退会済みユーザー👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

taro_yamada

2018/10/29 15:04

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Android Studio

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