如何将listview的第二行滚动到屏幕顶部

时间:2014-07-21 17:01:06

标签: android listview android-listview

您好我正在使用我正在使用listview和自定义适配器的演示应用程序。当我在位置到2或3时滚动列表然后该行应该在屏幕顶部意味着前一行应该完全隐藏时,我想这样做。

示例我第一次进行第一行并开始滚动列表视图,然后在getview调用位置2时进入第二行,然后列表应仅显示屏幕上的第2行。我怎么能做到这一点?请协助。

当我滚动时查看屏幕截图,然后当我移动到第2行时出现两行,然后第一行也出现,直到我手动向上移动列表。

enter image description here

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if(convertView == null) {
        LayoutInflater mInflator = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = mInflator.inflate(R.layout.home_list_item, parent, false);
    }

    TextView mChapterContent = (TextView) convertView.findViewById(R.id.contentTextView);

    // get the data from verse instance
    Verse verse = rowItem.get(position);

    // setting the content
    mChapterContent.setText(Html.fromHtml("<html><body style=\"text-align:justify\">" + verse.getText() + "</body></html>"));



    return convertView;
}

提前致谢。

2 个答案:

答案 0 :(得分:2)

从状态来看,我认为它是Vertical View寻呼机的一个很好的用例。

查看以下内容:

https://github.com/JakeWharton/Android-DirectionalViewPager/

Android: Vertical ViewPager

答案 1 :(得分:0)

您可以使用ListView的{​​{1}}功能滚动到列表中的特定项目,如下所示...

setSelection

或者如果你想要它动画......

listView.setSelection(2)

此答案可参考此answer