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