Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从以对话框为主题的活动启动DialogFragment_Android - Fatal编程技术网

Android 从以对话框为主题的活动启动DialogFragment

Android 从以对话框为主题的活动启动DialogFragment,android,Android,我正在尝试从一个以对话为主题的活动中启动一个对话片段。启动对话框片段后,必须退出以对话框为主题的活动。我在启动对话框片段后使用finish方法,但如果对话框片段未显示,则它不起作用。如果未使用finish方法,则它起作用,但是对话框主题的活动在对话框片段后面是可见的,我正试图通过布局Params自定义对话框片段中的编辑文本视图,但它没有反映在输出中,如您所见。如果您不介意,我尝试使用对话框主题的活动而不是上下文菜单,因为自定义上下文菜单是个大任务,所以我使用了带有列表视图的对话主题活动,这样我可

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

选择TypeActivity.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);
}