我有一个ListFragment,它使用SimpleCursorAdapter填充列表。它使用两个窗格设置来显示右侧的详细信息片段。
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编辑信息并通过按钮保存信息。
答案 0 :(得分:0)
我最终在详细信息片段中使用了一个loader manager并在那里查询。这种方式更加独立。