gpt4 book ai didi

java - 当用户长按时更改 Android 上的任何按钮

转载 作者:行者123 更新时间:2023-12-02 03:46:42 25 4
gpt4 key购买 nike

我有一些按钮,例如 btnA1、btnA2、btnA3,我希望用户可以在长按时更改按钮文本。当用户长按任何按钮时,它会提供对话框供用户填充按钮文本和一些 TextView 。这是我的代码:

btnA1.setOnLongClickListener(new Button.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
dialogForm();
return true;
}
});

这是dialogForm函数:

private void dialogForm(){
dialog = new AlertDialog.Builder(MainActivity.this);
inflater = getLayoutInflater();
dialogView = inflater.inflate(R.layout.macro_form, null);
dialog.setView(dialogView);
dialog.setCancelable(true);
dialog.setIcon(R.mipmap.ic_launcher);
dialog.setTitle("Macro Form");

txtMacroName = (EditText) dialogView.findViewById(R.id.txtMacroName);
txtMacroStatus = (EditText) dialogView.findViewById(R.id.txtMacroValue);

dialog.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
macroName = txtMacroName.getText().toString();
macroStatus = txtMacroStatus.getText().toString();

dialog.dismiss();
}
});

dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
dialog.show();
}

我如何检测在对话框之前按下了哪个按钮,dismiss(),只有该按钮会改变;

最佳答案

尝试为您的按钮提供 id,以便当用户选择一个按钮并在对话框中键入文本时,您可以将该文本设置为该特定按钮并将其关闭。然后在设置按钮文本

dialog.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

macroName = txtMacroName.getText().toString();
macroStatus = txtMacroStatus.getText().toString();

dialog.dismiss();
}
});

在setPositivebutton方法中,只需获取edittext的值(即getText().toString),然后将其设置为按钮,如btn.setText(edittext的值)。

关于java - 当用户长按时更改 Android 上的任何按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56800857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com