gpt4 book ai didi

java - 如何在android对话框中显示用户输入的EditText值

转载 作者:行者123 更新时间:2023-11-30 03:52:40 28 4
gpt4 key购买 nike

我修改后的工作示例基本上在下面我有 2 个编辑框我希望两者的值都显示在警报框中,其余代码工作正常,警报框确实显示但没有输入的值。

public class Main extends Activity {

EditText username = null;
EditText password = null;
Button login;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText usern = (EditText) findViewById(R.id.username);
EditText pass = (EditText) findViewById(R.id.password);
Button login = (Button) findViewById(R.id.login);
String usernm = usern.getText().toString();
String passnm = pass.getText().toString();
final Builder alert = new AlertDialog.Builder(this)
.setTitle("SHOW FIELDS")
.setMessage("USERNAME:" + usernm + " PASSWORD:" + passnm)
.setNegativeButton("CLOSE", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do nothing
closeContextMenu();
}
});
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alert.show();
}
});

最佳答案

您需要在按钮上获取 EditText 的值,以便在 AlertDialog 中显示为:

login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
usernm = usern.getText().toString();
passnm = pass.getText().toString();
alert.show();
}

并在类级别声明usernmpassnm

编辑:或者最好的方法是创建一个方法来显示警报并在单击按钮时调用它:

  public void showalert(){
usernm = usern.getText().toString();
passnm = pass.getText().toString();
alert = new AlertDialog.Builder(Main.this)
.setTitle("SHOW FIELDS")
.setMessage("USERNAME:" + usernm + " PASSWORD:" + passnm)
.setNegativeButton("CLOSE", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do nothing
closeContextMenu();
}
});
alert.show();
}

并在按钮点击时调用此方法:

 login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showalert();
}:
});

并在类级别声明所有变量,您可以通过这些变量在整个类中访问它:

public class Main extends Activity {
EditText usern ;
EditText pass ;
Button login;

String usernm ,passnm; //<<< Declare here
Builder alert;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
usern = (EditText) findViewById(R.id.username);
pass = (EditText) findViewById(R.id.password);
login = (Button) findViewById(R.id.login);

login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showalert();
}
});
}

关于java - 如何在android对话框中显示用户输入的EditText值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13916744/

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