android 将数据传递到对话框
android passing data to dialogBox
你好,我是 android 编程的初学者,我在将数据从 MainActivity 发送到我的 dialogBox.I 时遇到问题,因为我试了很长时间都没有成功。
在 MainActivity.class 中,我使用 onOptionsItemSelected 方法从 DialogBoxSettings.class 创建对话框。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
String title = (String) item.getTitle(); // I set my title
Bundle savedInstanceState = new Bundle();
savedInstanceState.putString("dialogBoxSettingsTitle", title);
DialogBoxSettings newFragment = new DialogBoxSettings();
newFragment.setArguments(savedInstanceState);
Toast.makeText(getApplicationContext(), title, Toast.LENGTH_LONG).show();
newFragment.show(getFragmentManager(), "dialogBoxSettings");
return super.onOptionsItemSelected(item);
}
在方法 onCreateDialog 的 DialogBoxSettings 中,我创建了我的对话框
public class DialogBoxSettings extends DialogFragment {
private static final String TAG = DialogBoxSettings.class.getSimpleName();
EditText mEditTextDialogBoxService;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_box_settings, null);
builder.setView(view);
//builder.setMessage(title);
mEditTextDialogBoxService = (EditText) view.findViewById(R.id.editTextDialogBoxService);
builder.setPositiveButton(getResources().getText(R.string.dialogBoxSettingsPositiveButton), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "POSITIVE button");
}
});
builder.setNegativeButton(getResources().getText(R.string.dialogBoxSettingsNegativeButton), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "NEGATIVE button");
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
除了我不知道如何将标题传递给 onCreateDialog 方法之外,所有这些都工作正常。我现在需要为此使用 Bundle,但我真的尝试了一切但现在都失败了,所以如果有人帮助我,我将非常感激。到目前为止,我已经尝试过这样做,但我没有成功
谢谢!!!!
在您的对话片段中:
public class DialogBoxSettings extends DialogFragment {
private static final String TAG = DialogBoxSettings.class.getSimpleName();
EditText mEditTextDialogBoxService;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
***final String title = getArguments().getString("dialogBoxSettingsTitle");***
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_box_settings, null);
builder.setView(view);
***builder.setTitle(title);***
//builder.setMessage(title);
mEditTextDialogBoxService = (EditText) view.findViewById(R.id.editTextDialogBoxService);
builder.setPositiveButton(getResources().getText(R.string.dialogBoxSettingsPositiveButton), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "POSITIVE button");
}
});
builder.setNegativeButton(getResources().getText(R.string.dialogBoxSettingsNegativeButton), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "NEGATIVE button");
}
});
// Create the AlertDialog object and return it
return builder.create();
}
你好,我是 android 编程的初学者,我在将数据从 MainActivity 发送到我的 dialogBox.I 时遇到问题,因为我试了很长时间都没有成功。
在 MainActivity.class 中,我使用 onOptionsItemSelected 方法从 DialogBoxSettings.class 创建对话框。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
String title = (String) item.getTitle(); // I set my title
Bundle savedInstanceState = new Bundle();
savedInstanceState.putString("dialogBoxSettingsTitle", title);
DialogBoxSettings newFragment = new DialogBoxSettings();
newFragment.setArguments(savedInstanceState);
Toast.makeText(getApplicationContext(), title, Toast.LENGTH_LONG).show();
newFragment.show(getFragmentManager(), "dialogBoxSettings");
return super.onOptionsItemSelected(item);
}
在方法 onCreateDialog 的 DialogBoxSettings 中,我创建了我的对话框
public class DialogBoxSettings extends DialogFragment {
private static final String TAG = DialogBoxSettings.class.getSimpleName();
EditText mEditTextDialogBoxService;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_box_settings, null);
builder.setView(view);
//builder.setMessage(title);
mEditTextDialogBoxService = (EditText) view.findViewById(R.id.editTextDialogBoxService);
builder.setPositiveButton(getResources().getText(R.string.dialogBoxSettingsPositiveButton), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "POSITIVE button");
}
});
builder.setNegativeButton(getResources().getText(R.string.dialogBoxSettingsNegativeButton), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "NEGATIVE button");
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
除了我不知道如何将标题传递给 onCreateDialog 方法之外,所有这些都工作正常。我现在需要为此使用 Bundle,但我真的尝试了一切但现在都失败了,所以如果有人帮助我,我将非常感激。到目前为止,我已经尝试过这样做,但我没有成功
谢谢!!!!
在您的对话片段中:
public class DialogBoxSettings extends DialogFragment {
private static final String TAG = DialogBoxSettings.class.getSimpleName();
EditText mEditTextDialogBoxService;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
***final String title = getArguments().getString("dialogBoxSettingsTitle");***
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_box_settings, null);
builder.setView(view);
***builder.setTitle(title);***
//builder.setMessage(title);
mEditTextDialogBoxService = (EditText) view.findViewById(R.id.editTextDialogBoxService);
builder.setPositiveButton(getResources().getText(R.string.dialogBoxSettingsPositiveButton), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "POSITIVE button");
}
});
builder.setNegativeButton(getResources().getText(R.string.dialogBoxSettingsNegativeButton), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "NEGATIVE button");
}
});
// Create the AlertDialog object and return it
return builder.create();
}