我具有以下子类来更新我的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:
<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);
我具有以下子类来更新gridview的设计行:在gridview中加载数据以使滚动条位置保持在当前位置时,最简单的方法是什么?公共类...
[哦,等等,再看一次,我看到您在加载新数据时正在创建一个新适配器...因此,可能没有简单的方法可以执行所需的操作。如果新数据的数据少于旧数据,怎么办?如果滚动到旧数据的末尾,则可能无法滚动到相同位置。然后,您可能需要重新考虑如何更新数据。我必须假定该问题仅在您运行从.cs文件共享的代码的第二次及以后发生。
但是,假设没有上述问题,您应该可以执行以下操作: