質問

画像をクリック可能にするにはどうすればよいですか?私はいくつかの方法を試しましたが、成功しませんでした。これが私が試した最後のコードです(クリック可能ですがエラーが発生します):

    ImageView btnNew = (ImageView) findViewById(R.id.newbutton);
    btnNew.setOnClickListener(new View.OnClickListener() {

          @Override
          public void onClick(View v) {

            // do stuff
          }

        });      

そして、これがXMLの部分です:

    <ImageView 
    android:src="@drawable/tbnewbutton" 
    android:text="@string/hello"
    android:layout_width="wrap_content"
    android:layout_alignParentRight="true"
    android:id="@+id/newbutton"
    android:clickable="true"
    android:onClick="clickImage"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" />

このコードを実行し、画像をクリックすると、このエラーが表示されます。

01-24 19:14:09.534:ERROR/AndroidRuntime(1461):Java.lang.IllegalStateException:アクティビティでメソッドクリックイメージ(表示)を見つけることができませんでした

これが解決策です:

XML:

    <ImageButton
    android:src="@drawable/tbnewbutton" 
    android:text="@string/hello"
    android:layout_width="wrap_content"
    android:layout_alignParentRight="true"
    android:id="@+id/newbutton"
    android:clickable="true"
    android:onClick="clickNew"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:background="@null" />

コード :

    public void clickNew(View v)
{
    Toast.makeText(this, "Show some text on the screen.", Toast.LENGTH_LONG).show();
}
役に立ちましたか?

解決

他の人が言ったように:これを作ります ImageButton OnClick属性を定義します

<ImageButton
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:layout_gravity="left"
     android:onClick="scrollToTop"
     android:src="@drawable/to_top_button"
/>

ここでは、ファイルres/drawable/to_top_button.pngでエンコードされています。ユーザーがボタンをクリックした場合、メソッド scrollToTop() 呼ばれています。この方法は、レイアウトを設定するクラスで宣言する必要があります ImageButton コンテンツレイアウトとして。

public void scrollToTop(View v) {
    ...
}

この方法でOnClickハンドラーを定義すると、多くのタイピングを節約でき、メモリフットプリントに有益な匿名の内部クラスの必要性も防ぎます。

他のヒント

Anをします ImageButton あなたが望むことをしますか?

あなたが取得するエラーメッセージは、あなたのアクティビティにオンクリックハンドラーに一致する方法を持っていないことを意味します。

あなたは次のようなものを持っているはずです clickImage(View view) クリック処理の実装を使用したアクティビティで。

ImageButtonクラスを使用することができます...http://developer.android.com/reference/android/widget/imagebutton.html

使う ImageButton ;)

XMLで画像がクリックされたときに「ClickImage」を呼び出すようにOnClickメソッドを設定しましたが、コードでClickImageメソッドを作成していません。 OnClickリスナーをまったく設定する必要はありません。 XMLからメソッドを実装するだけで、設定する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top