我有一个使用 SimpleCursorAdapter 填充列表的 ListFragment。它使用两个窗格设置在右侧显示详细信息片段。
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
string[] fromColumns = new string[]
{
MinefieldDataProvider.InterfaceConsts.FirstName
};
int[] toControlIds = new int[]
{
Android.Resource.Id.Text1
};
LoaderManager.InitLoader(PersonnelListLoaderId, null, this);
this._adapter = new SimpleCursorAdapter(Activity.ApplicationContext, Android.Resource.Layout.SimpleListItem1, null, fromColumns, toControlIds, CursorAdapterFlags.None);
this.ListAdapter = this._adapter;
}
public override void OnActivityCreated(Bundle savedInstanceState)
{
base.OnActivityCreated(savedInstanceState);
View detailsPane = this.Activity.FindViewById(Resource.Id.item_detail_container);
this._dualPane = (detailsPane != null && detailsPane.Visibility == ViewStates.Visible);
if (savedInstanceState != null)
this._currentPosition = savedInstanceState.GetInt("currentPosition", -1);
if (this._dualPane)
{
this.ListView.ChoiceMode = ChoiceMode.Single;
this.ShowDetails(this._currentPosition);
}
}
但是我不确定使用用户选择填充详细信息窗格的“android”方式。我是否提取 URI 并将其传递给详细信息片段,然后在详细信息部分使用 ContentProvider 的新实例?或者我是否传递了我想以某种方式显示在用户界面中的每个单独的字段?
请注意,在详细信息窗格中,用户将能够编辑信息并使用 ContentProvider 通过按钮将其保存。