1

HoloEverywhereを使用してDialogFragmentを実装しようとしています。ただし、下の画像に示すように、ダイアログボックスの境界線は表示されません。

ここに画像の説明を入力してください

DialogsDialogFragment

import org.holoeverywhere.LayoutInflater;
import org.holoeverywhere.app.DialogFragment;

import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;

public class DialogsDialogFragment extends DialogFragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.dialog_content);
    }
}

ABSHoloChk

public void onCreate(Bundle savedInstanceState) {
        Holo config = Holo.defaultConfig();
        init(config);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button = (Button) findViewById(R.id.voicerecorder_send);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                FragmentManager fm = getSupportFragmentManager();
                DialogsDialogFragment dialog = new DialogsDialogFragment();
                fm.beginTransaction()
                        .add(R.id.dialog_fragment, dialog)
                        .commit();

            }
        });

私のアプリケーション

public class MyApplication extends Application {

    static {
        ThemeManager.setDefaultTheme(ThemeManager.DARK);
    }
}

問題を理解できませんでしたか?

4

1 に答える 1

0

DialogFragmentsは、他のフラグメントとは異なる方法で処理する必要があります。以下のコードをAndroidDevelopersのWebサイトのリンクからコピーしましたが、正常に動作します

ABSHoloChk

 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    showDialog();
}
public void showDialog() {
    DialogFragment newFragment = DialogsDialogFragment.newInstance("Alert Dialog Two Button Title");
    newFragment.show(getSupportFragmentManager(), "dialog");
}

DialogsDialogFragment

パブリッククラスDialogsDialogFragmentはDialogFragmentを拡張します{

public static DialogsDialogFragment newInstance(String title) {
    DialogsDialogFragment frag = new DialogsDialogFragment();
    Bundle args = new Bundle();
    args.putString("title", title);
    frag.setArguments(args);
    return frag;
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    String title = getArguments().getString("title");

    return new AlertDialog.Builder(getActivity())
            .setTitle(title)
            .setIcon(R.drawable.ic_action_refresh)
            .setMessage("A new version of the App is available, please download it!!")
            .setPositiveButton("Ok",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            ((ABSHoloChk)getActivity()).doPositiveClick();
                        }
                    }
            )
            .setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            ((ABSHoloChk)getActivity()).doNegativeClick();
                        }
                    }
            )
            .create();
}

}

于 2013-01-17T19:57:23.277 に答える