2 回答

TA貢獻1798條經驗 獲得超7個贊
根據 Sibin Davis 先生和 Karan Sandhu 先生的說法,這是最終代碼
btnA1.setOnLongClickListener(new Button.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(getApplicationContext(),ttlA1,Toast.LENGTH_SHORT).show();
dialogForm(btnA1); // <---- add this
return true;
}
});
和函數 dialogForm() :
private void dialogForm(final Button b1){ //<-- add this
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();
b1.setText(macroName); // <---- add this
dialog.dismiss();
}
});
dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
dialog.show();
}
謝謝大家

TA貢獻1796條經驗 獲得超4個贊
嘗試為您的按鈕提供 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 的值)。
添加回答
舉報