如何使用列表片段中的内容提供程序填充详细信息片段

时间:2012-10-01 20:33:10

标签: android xamarin.android

我有一个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编辑信息并通过按钮保存信息。

1 个答案:

答案 0 :(得分:0)

我最终在详细信息片段中使用了一个loader manager并在那里查询。这种方式更加独立。