Java 如何将按钮连接到对话框,该对话框将使用用户输入在FrameLayout中编辑文本视图?
我一点也不懂。如何创建一个,如何从中获取用户输入,并将其设置为文本视图 我想在点击标题按钮时,弹出一个对话框片段,要求用户输入他们情绪板的标题。用户输入一个标题。当他们点击PostiveButton“Done”时,用户的标题被设置在情绪板的左上角框架中,其中有一个带有提示的文本视图 求你了!提问,因为我不太了解对话框的设置 这是我的主要活动中的主要版面的图片。每个元素都有一个“@+id/”Java 如何将按钮连接到对话框,该对话框将使用用户输入在FrameLayout中编辑文本视图?,java,android,xml,android-dialogfragment,Java,Android,Xml,Android Dialogfragment,我一点也不懂。如何创建一个,如何从中获取用户输入,并将其设置为文本视图 我想在点击标题按钮时,弹出一个对话框片段,要求用户输入他们情绪板的标题。用户输入一个标题。当他们点击PostiveButton“Done”时,用户的标题被设置在情绪板的左上角框架中,其中有一个带有提示的文本视图 求你了!提问,因为我不太了解对话框的设置 这是我的主要活动中的主要版面的图片。每个元素都有一个“@+id/” 您可以将情绪板标题文本视图设置为静态,然后使用edittext将其调用到alertdialog以将其设置为
您可以将情绪板标题文本视图设置为静态,然后使用edittext将其调用到alertdialog以将其设置为文本(setText) 像这样
final EditText edittext = new EditText(MainActivity.this);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Input Title")
.setView(edittext)
.setCancelable(false)
.setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
YourCustomDialog.your_title_textviewMoodboard.setText(edittext.getText().toString());
}
})
.setNegativeButton("Back", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
AlertDialog alert = builder.create();
alert.show();
在自定义对话框中。全局声明textview静态
public static TextView your_title_textviewMoodboard;
您正在寻找的解决方案是回调:
问题是,您希望将一个对话框片段与另一个组件连接起来,并且希望将其向前倾斜。这被认为不是一个好的做法,因为yiu创建了两个高度连接的组件,因此最好使用数据持久性和某种形式的react编程将自定义布局添加到警报对话框是一种困难的做法,更易于使用对话框。更简单的方法是在活动中创建对话框的活动上有一个字段,单击“确定的侦听器”按钮将关闭对话框,并获取对话框文本并将其发送到活动中。您可以将情绪板标题文本视图设置为静态,然后使用edittext调用alertdialog以将其设置为文本(setText).@cutiko您是指XML中的a吗?我的教授希望我们按下一个按钮,弹出一个对话框,然后编辑一些文本,然后我希望将文本发送到Mood Board内部的左上角框架布局,这是一个带有多个框架布局的约束布局。这可能吗?我不介意用不同的方式来做,我只是不想偏离人们对我的要求太多。看看这个要点,我不知道你为什么要对这个片段进行索引tag@Cutiko我很抱歉。我需要从头开始,因为我不明白github代码应该放在哪里,应该使用哪些部分。我不知道为什么,但我似乎无法理解这一点。我想我需要一些睡眠。我可以在早上看这个。我想我开始看到形状了。谢谢。:)接口回调{updateText(String text)}应该在哪个类中。接口可以是自己的类,接口被定义为一种特殊的类,如果您想要ir嵌套,那么它应该是活动,因为它是活动回调。我没有为对话框片段制作布局。所以我不能从它那里得到意见,因为它不存在。我不在乎我的教授想要什么了。我从一开始就讨厌这些对话。他们很难相处。我只想让标题按钮帮助用户更改情绪板的标题。我会为对话片段创建一个布局,提供帮助,了解我的教授做错了什么,然后学习Android Jetpack,这是你在一段时间内无法学习的
interface Callback {
updateText(String text)
}
class CoolActivity... implements Callback
onCreate {
//find your views
showDialogBtn.setOnClickListener(...
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
Fragment prev = getSupportFragmentManager().findFragmentByTag("yourTag");
if (prev != null) {
ft.remove(prev);
}
ft.addToBackStack(null);
DialogFragment dialogFragment = ExampleDialogFragment.newInstance();
dialogFragment.show(ft, "yourTag");
)
}
@Override
updateText(String text) {
youtView.setText(text)
}
class CoolDialogFragment extend DialogFragment {
private Callback callback;
@Override
void onAttach(Context context) {
callback = (Callback) context
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = new Dialog(getActivity());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
return dialog;
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.dialog_fragment_example, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//find the views in the dialog fragment
closeBtn.clickListener(...
callback.updateText(edittext.getText().toString())
dismiss()
)
}
}