使用ListView后一共有12条数据,一页显示有10条,滑动屏幕把最后2条显示出来。显示都没有问题,当点击后,获取到的数据和点击时屏幕被点击位置元素的值不一致,发生错位。
然后调试,发现在获取具体点击的对象的时候错误,应该是
mLv.getItemAtPosition(position),而不是
mLv.getChildAt(position)
final ListView mLv = findViewById(R.id.lv_user);
UserAdapter adapter = new UserAdapter();
mLv.setAdapter(adapter);
mLv.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {//position指当前点的行号
//parent指父View本身,第二个参数指ListView里面的每个小项即TestView
LinearLayout linearLayout = (LinearLayout)mLv.getChildAt(position);
Log.e("aaaa333daaaa",((TuserList.bean)mLv.getItemAtPosition(position)).username+":"
+((TuserList.bean)mLv.getItemAtPosition(position)).usernamecn);
参考文章:https://blog.csdn.net/u014294166/article/details/51999809