从对话框主题Activity中启动DialogFragment

时间:2013-11-24 14:38:03

标签: android

我正在尝试从对话框主题活动中启动对话框片段。启动对话框片段后,必须退出对话框主题活动。我在启动对话框片段后使用了finish方法,但它没有显示对话框片段没有显示。如果没有使用完成方法那么它可以工作,但对话框主题活动在对话框片段后面可见,我正在尝试通过布局Params自定义对话框片段中的编辑文本视图,但正如您所看到的那样,它不会反映在输出中。如果您不介意我尝试使用对话框主题活动而不是上下文菜单,那么还有一个问题因为自定义上下文菜单是一项大任务,所以我使用了列表视图的对话主题活动,以便我可以更改背景,为列表视图中的项目设置不同的图标。这是一个好主意还是我反对安卓代码规则?

launch DialogFragment from dialog themed Activity

ChooseTypeActivity.java:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    clickedItem = chooseType[position];
    if (clickedItem.equalsIgnoreCase("User defined")) {
        MyDialogFragment md =
                MyDialogFragment.newInstance(android.R.drawable.alert_dark_frame,
                "Set type name :", null, CHOOSE_TYPE_ACTIVITY);
        md.show(getFragmentManager(), "dialog");
        //finish();
    } else {
        Intent intent = new Intent(getBaseContext(), AddContactsActivity.class);
        intent.putExtra("chooseType", clickedItem);
        startActivity(intent);
        finish();
    }
}

MyDialogFragment.java:

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    EditText txtUserDefineValue = new EditText(getActivity());
    txtUserDefineValue.setSingleLine(true);
    LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, 40);
    params.setMargins(5, 20, 5, 20);
    txtUserDefineValue.setLayoutParams(params);
}

0 个答案:

没有答案