更新数据时如何保持gridview滚动条的位置

布鲁诺·戈麦斯(Bruno Gomes)

我有以下子类用于更新gridview的设计行:

在gridview中加载数据以将滚动条位置保持在当前位置时,最简单的方法是什么?

public class TextAdapter : BaseAdapter
    {
        Context context;

        List<string> Sources;

        string res;

        public TextAdapter(Context c, List<string> s)
        {
            context = c;
            Sources = s;
        }

        public override int Count
        {
            get { return Sources.Count; }
        }

        public override Java.Lang.Object GetItem(int position)
        {
            return null;
        }

        public override long GetItemId(int position)
        {
            return 0;
        }

        // create a new ImageView for each item referenced by the Adapter
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            TextView textView;

            if (convertView == null)
            {
                textView = new TextView(context);
                textView.SetLines(6);
            }
            else
            {
                textView = (TextView)convertView;
            }

            textView.SetText(Sources[position], null);

            return textView;
        }

在gridview中加载数据以将滚动条位置保持在当前位置时,最简单的方法是什么?

网格视图:

<GridView
android:id="@+id/gvContagem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:numColumns="1"
android:textStyle="bold"
android:layout_below="@+id/headerLabel"
android:layout_marginTop="33dp" />

.CS文件:

 readonly JavaList<String> artigos = new JavaList<string>();

    List<string> mItems = new List<string>();

    GridView gvContagem = FindViewById<GridView>(Resource.Id.gvContagem);
    sqliteConnection con = new SqliteConnection("Data Source = " + BaseDados);

    con.Open();

    artigos.Clear();

    string stm = "SELECT Artigo, Descricao FROM Trend";

    using (SqliteCommand cmd = new SqliteCommand(stm, con))
    {
        using (SqliteDataReader rdr = cmd.ExecuteReader())
        {
            while (rdr.Read())
            {

                artigos.Add(rdr.GetValue(0) + rdr.GetValue(1));


            }

        }

    }

gvContagem.Adapter = new TextAdapter(this,artigos);
jgoldberger-MSFT

事实证明,我能够以相当少的精力制作一个工作样本。

尝试以下操作(添加两行代码,在创建新代码之前添加一行,在创建新代码之后添加一行TextAdapter

IParcelable gridViewState = gvContagem.OnSaveInstanceState(); // <-- save scroll position
gvContagem.Adapter = new TextAdapter(this, artigos);
gvContagem.OnRestoreInstanceState(gridViewState); // <-- Load scroll position

我已经测试了上面的方法并且可以工作,但是如果新数据集小于旧数据集,并且您在旧数据集上滚动到新数据集扩展的范围之外,那么新数据将滚动到末尾。换句话说,如果旧数据集有20个项目,新数据集有10个项目,并且您已滚动以使项目15位于底部,则在加载新的较小数据集时,将滚动至该项目10在底部。

顺便说一下,这里回答了一个有点重复的问题:通过“屏幕旋转”保持GridView的滚动位置,但是要使用本机Java代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除滚动条时如何保持html内容的位置?

来自分类Dev

如何使用Tkinter更新滚动条位置

来自分类Dev

位置为负时,如何显示滚动条?

来自分类Dev

位置为负时,如何显示滚动条?

来自分类Dev

位置为负时,如何显示滚动条?

来自分类Dev

Android在滚动事件上更新内容时设置了scrollLeft不会更新滚动条位置

来自分类Dev

使用滚动条向下滚动时,使框保持静止

来自分类Dev

如何使滚动条保持在固定位置div的内部,并且顶部像素向下推?

来自分类Dev

在滚动到滚动条时滚动条放错了位置

来自分类Dev

在滚动到滚动条时滚动条放错了位置

来自分类Dev

没有滚动位置时,如何在Microsoft Chrome上隐藏溢出滚动条?

来自分类Dev

如何停止身体滚动但保持滚动条?

来自分类Dev

如何隐藏滚动条并使内容保持可滚动状态?

来自分类Dev

触发更新后,Tablesorter滚动条的高度保持不变

来自分类Dev

当max-height结束时,如何保持滚动条隐藏并显示?

来自分类Dev

如何在 MVVM 中设置数据网格滚动条位置

来自分类Dev

放大时使整个页面(水平滚动条位置)居中

来自分类Dev

如何使滚动条尺寸(长度)保持稳定?

来自分类Dev

内容可滚动时如何隐藏滚动条?

来自分类Dev

如何从元素的底部到顶部更改滚动条位置?

来自分类Dev

如何在水平滚动条上使用位置粘性?

来自分类Dev

如何知道div中滚动条的位置?

来自分类Dev

如何获得位置:固定;滚动条的行为

来自分类Dev

如何使滚动条移动到准确的位置

来自分类Dev

如何从元素的底部到顶部更改滚动条位置?

来自分类Dev

如何使HighStock / HighChart滚动条的位置默认为左侧?

来自分类Dev

如何先捕获然后设置滚动条的位置?

来自分类Dev

如何检测Bootstrap模式滚动条的位置?

来自分类Dev

如何获得滚动条缩略图的正确位置?

Related 相关文章

  1. 1

    删除滚动条时如何保持html内容的位置?

  2. 2

    如何使用Tkinter更新滚动条位置

  3. 3

    位置为负时,如何显示滚动条?

  4. 4

    位置为负时,如何显示滚动条?

  5. 5

    位置为负时,如何显示滚动条?

  6. 6

    Android在滚动事件上更新内容时设置了scrollLeft不会更新滚动条位置

  7. 7

    使用滚动条向下滚动时,使框保持静止

  8. 8

    如何使滚动条保持在固定位置div的内部,并且顶部像素向下推?

  9. 9

    在滚动到滚动条时滚动条放错了位置

  10. 10

    在滚动到滚动条时滚动条放错了位置

  11. 11

    没有滚动位置时,如何在Microsoft Chrome上隐藏溢出滚动条?

  12. 12

    如何停止身体滚动但保持滚动条?

  13. 13

    如何隐藏滚动条并使内容保持可滚动状态?

  14. 14

    触发更新后,Tablesorter滚动条的高度保持不变

  15. 15

    当max-height结束时,如何保持滚动条隐藏并显示?

  16. 16

    如何在 MVVM 中设置数据网格滚动条位置

  17. 17

    放大时使整个页面(水平滚动条位置)居中

  18. 18

    如何使滚动条尺寸(长度)保持稳定?

  19. 19

    内容可滚动时如何隐藏滚动条?

  20. 20

    如何从元素的底部到顶部更改滚动条位置?

  21. 21

    如何在水平滚动条上使用位置粘性?

  22. 22

    如何知道div中滚动条的位置?

  23. 23

    如何获得位置:固定;滚动条的行为

  24. 24

    如何使滚动条移动到准确的位置

  25. 25

    如何从元素的底部到顶部更改滚动条位置?

  26. 26

    如何使HighStock / HighChart滚动条的位置默认为左侧?

  27. 27

    如何先捕获然后设置滚动条的位置?

  28. 28

    如何检测Bootstrap模式滚动条的位置?

  29. 29

    如何获得滚动条缩略图的正确位置?

热门标签

归档