1

ListFragmentとして表示することは可能Dialogですか? それとも方法がなく、自分自身のListView、空TextViewで不確定なものを自分のProgressBar中に実装する必要がありDialogFragmentますか?

4

2 に答える 2

7

別のオプション:

ビルド ダイアログ フラグメント:

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;    

public class ListDialogFragment extends DialogFragment {

    private OnListDialogItemSelect listener;
    private String title;
    private String[] list;

    public ListDialogFragment(OnListDialogItemSelect listener, String[] list, String title) {
        this.listener=listener;
        this.list=list;
        this.title=title;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        return new AlertDialog.Builder(getActivity())
                .setTitle(title)
                .setCancelable(false)
                .setItems(list, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int item) {

                        listener.onListItemSelected(list[item]);
                        getDialog().dismiss(); 
                        ListDialogFragment.this.dismiss();

                    }
                }).create();

    }

    public interface OnListDialogItemSelect{
        public void onListItemSelected(String selection);
    }

}

このようなフラグメントアクティビティで:

public class YourActivity extends FragmentActivity implements OnListDialogItemSelect{

    private void showCountryFragment(){
         FragmentManager fm = getSupportFragmentManager();
         ListDialogFragment newFragment = new ListDialogFragment(this,getCountries(),"Country:");
         newFragment.show(fm, "country_picker");
    }

    @Override
    public void onListItemSelected(String selection) {
        _bt_country.setText(selection);
    }

}
于 2013-05-08T00:46:09.637 に答える
1

ListFragment で動作するかどうかはよくわかりませんが、次のようにマニフェスト ファイルのアクティビティにテーマを適用することで、アクティビティを Dialog として表示できます。

<activity android:theme="@android:style/Theme.Dialog" />

ListFragment を試してみて、うまくいくかどうか教えてください。

ありがとうございました。

于 2012-09-20T16:35:07.997 に答える