gpt4 book ai didi

android - Listview 自动滚动到顶部

转载 作者:行者123 更新时间:2023-11-29 01:35:27 28 4
gpt4 key购买 nike

我的项目中有一个 ListView ,它包含图像和信息。
所以假设它包含 50 个人信息。现在,如果我想删除最后两项,删除最后一项后,liSTLview 会自动聚焦到列表顶部。
所以现在用户已经向下滚动所有项目以到达第 49 项并将其删除。
那么有什么方法可以将 ListView 位置固定在我删除项目的那个位置。

//删除信息代码

public void deleteFeed(int rowID) {
// fetch the image File name
Cursor cursor = dbAdapter.getTimelineFeedByID(mSysPrefs.getBabyID(), rowID);
if(cursor != null && cursor.moveToFirst()) {
// fetch from DB Cursor
String imageFileName = cursor.getString(cursor.getColumnIndex(DatabaseAppHelper.KEY_IMAGENAME));
File file = new File(GlobalConstants.FILE_PATH, imageFileName + GlobalConstants.IMAGE_EXTENSION);
if(file.exists()) {
file.delete();
}
//listview.smoothScrollToPosition(0, listview.getHeight());
listview.smoothScrollToPosition(0, listview.getBottom());
}
// now delete the record from the DB
if(dbAdapter.deleteTimelineFeed(rowID) != -1) {
onResume();
} else {
Toast.makeText(this, "Please try again..", Toast.LENGTH_LONG).show();
}
}

//创建 ListView 的代码

@Override
protected void onResume() {
super.onResume();
turnGPSOn(); // method to turn on the GPS if its in off state.
getMyCurrentLocation();
dbAdapter.openDBConnection();
new Handler().post(new Runnable() {
@Override
public void run() {
timelineCursorAdapter = new TimelineCursorAdapter(TimelineViewActivity.this,
dbAdapter.getAllTimelineFeedsForBaby(mSysPrefs.getBabyID()), 0);
listview.setAdapter(timelineCursorAdapter);
//timelineCursorAdapter.notifyDataSetChanged();
listview.invalidateViews();

}
});
}

最佳答案

从你删除的项目中获取位置,然后将位置传递给 setselection 方法,如下所示:listview.setSelection(pos);

关于android - Listview 自动滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28452018/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com