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

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

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

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

Q&A

解決済

2回答

3153閲覧

android studioでsetOnClickListenerにエラーが出ます。

zuma

総合スコア11

Android Studio

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

0グッド

0クリップ

投稿2017/11/15 16:57

###前提・実現したいこと
android studioでアプリの勉強を始めたのですが早速つまずいてしまいました。
setOnClickListenerにエラーが出ます。

###発生している問題・エラーメッセージ
Cannot resolve symbol setOnClickListener
その他setOnClickListenerのエラーが解消されれば解決されそうな問題5,6個

エラーメッセージ

###該当のソースコード

ここにご自身が実行したソースコードを書いてください ```package com.example.higasist.helloandroid; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } Button tapHere = (Button)findViewById(R.id.tapHere); tapHere.setOnClickListener(new View.OnClickListener(){ //この行Cannot resolve symbol setOnClickListenerというエラーメッセージが出ます。 @Override public void onClick(View v){ TextView textView = (TextView) findViewById(R.id.textView); textView.setText("ボタンがタップされました。"); } }); } ###試したこと 課題に対してアプローチしたことを記載してください ###補足情報(言語/FW/ツール等のバージョンなど) android ver3.0 全くの初心者でかなり初歩的なミスもあると思いますが、ご指摘お願いします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

当該コードを書いている場所がメソッドの外だからです。
エラーが出ている3行上でonCreateメソッドが閉じているため、
その場所はクラスのメンバ宣言およびその初期化しかできない場所です。
その場所で初期化処理以外のメソッド起動はできません。
onCreateの中に入れましょう。

投稿2017/11/15 17:19

swordone

総合スコア20651

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

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

zuma

2017/11/15 18:02

分かりやすい解説ありがとうございます! 解決できました!
guest

0

記述している場所がおかしいです。

Java

1Button tapHere = (Button)findViewById(R.id.tapHere); 2tapHere.setOnClickListener(new View.OnClickListener(){ 3 @Override 4 public void onClick(View v){ 5 TextView textView = (TextView) findViewById(R.id.textView); 6 textView.setText("ボタンがタップされました。"); 7 } 8});

この範囲を、onCreateの中のsetContentViewの直後に移しましょう。

投稿2017/11/15 17:13

編集2017/11/15 17:16
keicha_hrs

総合スコア6768

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

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

zuma

2017/11/15 18:02

解決しました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問