如何从android中的ListFragment获取项目ID?

时间:2014-11-24 13:31:34

标签: android android-fragments android-listfragment

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");

我需要获得appcompat_v7并更改图片,但我不能。

我看不到{{1}}。

注意:我使用的是{{1}}。

1 个答案:

答案 0 :(得分:0)

您使用的是错误的参数,这可能是您的问题。

Position是列表中显示的位置。 ListViews只显示填充屏幕所需的条目数 - 屏幕上方和下方的条目不会呈现,直到您滚动它们并将它们移动到屏幕上。 Position与所展示的内容有关。 id与行的实际个人id有关,无论正在呈现哪些行。

编辑:

从表面上看,你这样做的方式都搞砸了。您只是在单击行时设置onClickListener ...这没有任何意义。这是你做的。

进入行的XML。在ImageView的XML中,添加以下行:

android:onClick="testPrint"

然后在您的活动中,在底部创建了一个如下所示的方法:

public void testPrint(View view) {
    Log.i("log", "here");
}

单击ImageView时将打印日志。