猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

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
-

執筆者:

関連記事

別スレッドから画面を制御するhandlerの使い方

別スレッドから画面(layout)を制御するにはhandlerを使用します。 制御したい画面を持つアクティビティに、handerの宣言をします。 宣言したhandlerはsendMessageメソッド …

インストールしているアプリを調べる

タイトルの通り、androidにインストールするアプリを調べてListViewに表示するサンプルです。 何かの役に立つかもしれません。 本当はSpeechSynthesis Dataがインストールされ …

layoutのxmlに配置したListViewをアクティビティで操作する

ListViewの操作にはadapterを使用します。 INDEX1 xml2 アクティビティ3 単純な呼び出し4 結果を受信する呼び出し xml ListViewにアクセスできるようにidを付けてお …

match_parentとwrap_content

wrap_contentは幅を自動調整します。 match_parentは画面いっぱいに表示させます。 match_parentはAndroid2.2(API Label 8)以降で、fill_par …

ListView(2行)

ListViewの各行に2行表示させるには、ListActivityをextendします。 また、かくリストのデータはmapで設定します。 TestActivity.java package com. …