【发布时间】:2011-05-21 18:31:05
【问题描述】:
我有一个 ImageView,我想为其实现 onClickListener。但是当我点击图像时,什么也没有发生。事件 Logcat 没有显示任何错误。
以下是我的导入声明:
import android.view.View.OnClickListener;
以下是我的图片布局代码:
<ImageView android:id="@+id/favorite_icon"
android:src="@drawable/small_star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|right" android:paddingTop="63sp"
android:paddingRight="2sp" />
以下是我的活动中定义 onClickListener 的事件处理程序的代码:
ImageView imgFavorite = (ImageView) findViewById(R.id.favorite_icon);
imgFavorite.setClickable(true);
imgFavorite.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i(SystemSettings.APP_TAG + " : " + HomeActivity.class.getName(), "Entered onClick method");
Toast.makeText(v.getContext(),
"The favorite list would appear on clicking this icon",
Toast.LENGTH_LONG).show();
}
});
我是不是错过了什么。任何帮助将不胜感激。
提前致谢。
【问题讨论】:
-
@mahendraliya:不要在这里使用
getApplicationContext()。使用WhateverYourActivityIs.this,用您的活动名称替换WhateverYourActivityIs。此外,将某些内容记录到 LogCat(例如Log.w())而不是依赖Toast进行此类诊断通常很有用。 -
@CommonsWare:从更新中可以看出,我将“getApplicationContext()”更改为“HomeActivity.this”..并添加了一条日志语句..它仍然不起作用..我是缺少特定于 onClickListener 与 ImageView 一起使用的内容?
-
@mahendraliya:“我是否遗漏了一些特定于 onClickListener 与 ImageView 配合使用的内容?” -- 不,它应该可以正常工作。
-
@CommonsWare:我不明白为什么它不起作用。您是否发现我可能忽略的代码有任何可能的错误?
-
@CommonsWare:我正在使用 FrameLayout。你认为这会影响吗?
标签: android