布局是PullToRefreshScrollView里面包含一个ListView,该怎么定位listview中的某一项item呢,下面贴出一段代码
@Override
protected void onPostExecute(InterestThemeReplyBean result) {
if (result != null) {
pageCount = result.getPageCount();
if (actionFlag == 0) {
reply_list.clear();
}
if (result.getError() == 0) {
if (result.getResult() != null) {
for (int i = 0; i < result.getResult().size(); i++) {
InterestThemeReplyResultBean tBean = result.getResult().get(i);
reply_list.add(tBean);
}
ListViewForScrollView.setListViewHeightBaseOnChildren(tListview);
adapter.notifyDataSetChanged();
if (replyId != 0) {
LogUtil.e("Tag", replyId + "--------replyId--------");
for (int i = 0; i < reply_list.size(); i++) {
LogUtil.e("Tag", reply_list.get(i).getReplyId() + "--------reply_list.get(i).getReplyId()--------");
if (reply_list.get(i).getReplyId() == replyId) {
position = i;
LogUtil.e("Tag", position + "--------i--------");
}
}
tListview.setSelection(position);
adapter.notifyDataSetChanged();
}
} else {
tv_none_discuss.setVisibility(View.VISIBLE);
ll_listview.setVisibility(View.GONE);
}
}
} else {
LogUtil.e("Tag", "贴子列表");
Toast.makeText(InterestThemeDetailActivity.this, "网络超时", Toast.LENGTH_SHORT).show();
}
pScrollview.onRefreshComplete();
QrProgressDialog.removeProgressDialog(InterestThemeDetailActivity.this);
super.onPostExecute(result);
}
注意呢,这个是PullToRefreshScrollView里面包含一个ListView的
同样用listview。setonitemclick事件进行啊
或许你可以根据ListView的getView方法的position参数来确定item位置
listview_main_friends.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Object obj = arg0.getItemAtPosition(arg2); // 相当于适配器中的getItem
String name = obj.toString();
Intent intent = new Intent(MainAmy.this, FriendInfoActivity.class);
intent.putExtra("userName", name);
startActivity(intent);
}
});
这是我的某个程序中的代码
现在我有个思路:我获取那个item的position,然后乘以item的高度,然后使PullToRefreshScrollView的Y偏移量向上偏移,可是怎么才能使PullToRefreshScrollView向上偏移呢
setSelectionFromTop(position, y);y是偏移量,有头视图的话position要加1
getScroY(),方法的获得取得scro垂直滑动的距离,