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

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

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

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

Q&A

解決済

1回答

1350閲覧

setOnClickListenerだけにエラーが出ます

KOKIN

総合スコア12

Android Studio

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

0グッド

0クリップ

投稿2018/12/20 18:56

前提・実現したいこと

イメージボタンを押すとトーストが表示されるページを作りたいです。
ボタンを押すとトーストが表示されるソースを書きましたがエラーが出ます。

発生している問題・エラーメッセージ

setOnClickListenerのところだけにエラーが出るのですが、直し方がわかりません。

エラーメッセージ ```エラー: staticでないメソッド setOnClickListener(OnClickListener)をstaticコンテキストから参照することはできません ### 該当のソースコード package jp.example.android.twoactivities; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.widget.ImageButton; import android.widget.Toast; import static android.view.View.OnClickListener; import static jp.example.android.twoactivities.R.id.imageButton2; public class SubActivity extends AppCompatActivity { ImageButton bt2; ImageButton bt3; ImageButton bt4; String toastMessage; private Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sub); bt2=(ImageButton)findViewById(imageButton2); bt3=(ImageButton)findViewById(R.id.imageButton3); bt4=(ImageButton)findViewById(R.id.imageButton4); toastMessage = "SAFE"; context=getApplicationContext(); ImageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { toastMake(toastMessage, 0, -200); } }); } private void toastMake(String message, int x, int y) { Toast toast = Toast.makeText(this, message, Toast.LENGTH_LONG); // 位置調整 toast.setGravity(Gravity.CENTER, x, y); toast.show(); } ```ここに言語名を入力 ソースコード

試したこと

インポート分を追加したりしました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ImageButtonクラスではなくbt2などに対して呼び出してください。

投稿2018/12/21 00:35

daisuke7

総合スコア1563

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

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

KOKIN

2018/12/21 17:21

daisuke7さん回答ありがとうございます。無事にエラーが消えました! ですが、エミュレーターで動かしてみてもなぜかトーストが表示されません。 どうしたら良いかわかります…(;_;)?
daisuke7

2018/12/21 18:26

うーん、なんとも。それは別の問題じゃないでしょうか?
KOKIN

2018/12/21 19:11

わかりました。色々やってみます。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問