在Class
这extend
从ListFragment
我使用onListItemClick
:
public class Setting_Fragment extends ListFragment{
@Override
public void onListItemClick(ListView l, View v, final int position, long id) {
if (position == 0) {
ImageView image = (ImageView) v.findViewById(R.id.img_message);
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("log", "here");
}
});
}
}
}
我需要获取ImageView
并更改图像,但不能。
我看不到Log.i("log", "here");
。
注意:我正在使用from appcompat_v7
。
您使用了错误的参数,这可能是您遇到的问题。
Position
是显示的列表中的位置。ListViews仅显示填充屏幕所需的尽可能多的条目-屏幕上方和下方的条目不会呈现,直到您滚动到它们并将它们移到屏幕上为止。Position
与所显示的内容有关。id
与要呈现的行的实际个体ID无关,无论要呈现的行是什么。
编辑:
面对现实,您这样做的方式全都搞砸了。您仅在onClickListener
单击该行时设置...,这没有任何意义。这就是你要做的。
进入该行的XML。在您的XML中ImageView
,添加以下行:
android:onClick="testPrint"
然后在您的活动中,在底部创建一个如下所示的方法:
public void testPrint(View view) {
Log.i("log", "here");
}
当您单击ImageView时,这将打印日志。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句