Android

クリックリスナーが使えない

投稿日:2013年3月17日 更新日:

急に
型 View のメソッド setOnClickListener(View.OnClickListener)
は引数 (MainActivity.btnClickListener) に適用できません
なるエラーが出ました。

そういう場合は

		Button btnStart = (Button)findViewById(R.id.buttonStart);
		btnStart.setOnClickListener(new btnClickListener());
		↓
		btnStart.setOnClickListener((android.view.View.OnClickListener) new btnClickListener());

とすればOKです。
確認していませんが、
listviewをか何かをインポートして、onClickListernerの名前が重複してしまったんでしょうか。

本当の原因

下記のようなエラーがでます。

Uncaught handler: thread main exiting due to uncaught exception
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ips/com.ips.nekotype.TESTActivity}: java.lang.ClassCastException: com.ips.nekotype.TESTActivity$ClickListenerStart

Eclipseでインポートしたパッケージが間違えていました。

import android.content.DialogInterface.OnClickListener; ×
 ↓
import android.view.View.OnClickListener; ○

	class ClickListenerStart implements OnClickListener{
		@Override 
		public void onClick(DialogInterface dialog, int which) { ×
              ↓
		@Override
		public void onClick(View v) { ○
			// TODO 自動生成されたメソッド・スタブ
		}

何事も原因究明が大切でした・・・反省です。

Gooleアドセンス用336

Gooleアドセンス用336

-Android
-

執筆者:

関連記事

Activityの遷移時のアニメーションをなくす

いいのか悪のいのか、BroadcastReceiverで数秒毎に元のActivityを呼び出しカウントアップさせてしまいました。 これだとスリープ状態でもOK!?なのでしかたありません。。。 とりあえ …

SQLiteに普通のselectを実行する

rawQueryメソッドを使用すれば、通常のselect分が利用できます。 取得したデータはカーソルを使って読み込みます。 ・・・ DBHelper helper = new DBHelper(Tes …

SQLiteにadbでアクセスする

コマンドプロンプトでadbのあるディレクトリまでcdで移動します。 私の場合はD:\Users\xxx\android-sdks\platform-tools にしてあります。 # d: # cd D …

AlarmManagerで定期処理を行う

私のやりたいことは、定期的にあるアクションが起動するアプリの作成です。 serviceでいいかと思っていたのですが、何故か画面がスリープした状態で停止します。 そこでAlarmManagerを使用する …

SQLiteにPupSQLiteでアクセスする

PupSQLiteは任意の場所からダウンロードしてください。 PupSQLiteでなくてもエミュレーターからもデータベースファイルを抜き出すことができるので、それを利用して確認等が行えます。 まずはE …