Я создал специальный диалог alerttdialog, в котором есть 2 Edittexts. Я хочу передать ему информацию из существующей базы данных при нажатии на что-либо.
это класс диалогового окна настраиваемого оповещения
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.add_job_dialouge, null);
builder.setView(view).setTitle("Add Job")
.setPositiveButton("add", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (isDouble(wageValue.getText().toString())){
String nameOjob = jobName.getText().toString();
Double valueOwage = Double.parseDouble(wageValue.getText().toString());
listener.applyTexts(nameOjob, valueOwage);
builder.create();
}else{
wageValue.setError("Wrong Format Error");
}
}
})
.setNeutralButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
jobName = view.findViewById(R.id.job_name_ETD);
wageValue = view.findViewById(R.id.wage_ETD);
//I want to pass information to these
//jobName.setText();
//wageValue.setText();
return builder.create();
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
listener =(ExampleDialogueListener) context;
} catch (ClassCastException e) {
throw new ClassCastException(context.toString() + "must implement Example Dialogue Listener");
}
}
public interface ExampleDialogueListener{
void applyTexts(String jobname, Double wage);
}
boolean isDouble(String str) {
try {
Double.parseDouble(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}
}
Я хочу передать информацию в текст редактирования через параметры, чтобы в тексте редактирования была информация, когда я создаю alerttdialog
Плохо, что я запутался и предположил, что настраиваемый диалог оповещений не является фрагментом. И нет, я не реализовал метод newInstance ()




Похоже, вы расширяете DialogFragment.
Вы можете передавать данные так же, как и обычный фрагмент.
Bundle args = new Bundle();
args.putString("arg_key","something");
f.setArguments(args);
Где ж - это экземпляр вашего DialogFragment.
Внутри вашего DialogFragment вы можете вызвать getArguments (), чтобы получить свой пакет.
Пожалуйста, добавьте всю необходимую информацию в свой вопрос. Вы указали, что у вас есть
AlertDialog, хотя на самом деле похоже, что вы внедряетеDialogFragment. Мне было бы интересно узнать, реализовали ли вы методnewInstance()