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

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

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

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

Q&A

解決済

1回答

15693閲覧

FATAL EXCEPTION: main

sinatose

総合スコア14

Android Studio

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

0グッド

0クリップ

投稿2015/11/19 07:50

togglebuttonでテキストを変更する内容にしたいのですが、このエラーでボタンを押すとappが終了してしまいます。
何か足りないみたいなんですけどどうすれば上手くいきますか?

FATAL EXCEPTION: main
Process: com.example.bs.togglebutton, PID: 18809
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

メインアクティビティ.java

package com.example.bs.togglebutton;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {
TextView textView; //←これを入れてみたら治ったのですが動きません ②
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ToggleButton tb = (ToggleButton) findViewById(R.id.toggleButton); tb.setTextOff("オフ"); tb.setTextOn("オン"); tb.setChecked(false); tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Log.d("ToggleButton", "OnCheckedChangeListenerが呼び出されました。"); textView.setText(isChecked ? "ON" : "OFF"); // ↑↑↑↑ ここがエラーになるので ① } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }

}

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

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

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

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

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

guest

回答1

0

ベストアンサー

TextView textViewの中身を入れていません。そのためこのフィールド変数がnullのままになり、
NullPointerExceptionが出ています。
findViewByIdでTextViewを探してこの変数にセットしてください。

投稿2015/11/19 07:52

swordone

総合スコア20649

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

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

sinatose

2015/11/19 08:05

textView = (TextView)findViewById(R.id.textView);をリスナーの中に入れたら直りました! ありがとうございます!
swordone

2015/11/19 08:21

リスナーの中に入れるより、onCreateの中で処理してしまったほうがいいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問