1

SimpleCursorAdapter を使用してリストを設定する ListFragment があります。右側に詳細フラグメントを表示するために、2 ペインの設定を使用しています。

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 を使用してボタンを介して保存できることに注意してください。

4

1 に答える 1

0

詳細フラグメントでローダーマネージャーを使用することになり、そこでクエリを実行しました。その方が自己完結型です。

于 2012-12-21T18:34:47.377 に答える