Java Android:ShowDialog与变量
嗨,我正在进入一个ShowDialog,我想让它显示一条包含两个局部变量的消息。出于这个原因,它说有一个错误,所以如果有一种方法显示这些变量,我将非常感谢您的帮助。这是我的代码,错误所在的行是:Java Android:ShowDialog与变量,java,android,variables,showdialog,Java,Android,Variables,Showdialog,嗨,我正在进入一个ShowDialog,我想让它显示一条包含两个局部变量的消息。出于这个原因,它说有一个错误,所以如果有一种方法显示这些变量,我将非常感谢您的帮助。这是我的代码,错误所在的行是: .setMessage("The NIF is" +user +DNIWord "-") protected Dialog onCreateDialog (int id){ switch (id) { case DIALOG_ERROR_CANDIDATO:
.setMessage("The NIF is" +user +DNIWord "-")
protected Dialog onCreateDialog (int id){
switch (id) {
case DIALOG_ERROR_CANDIDATO:
return new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_error)
.setTitle(R.string.error)
.setMessage("The NIF is" +user +DNIWord "-")
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
})
.create();
}
return null;
}
代码的其余部分如下所示:
.setMessage("The NIF is" +user +DNIWord "-")
protected Dialog onCreateDialog (int id){
switch (id) {
case DIALOG_ERROR_CANDIDATO:
return new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_error)
.setTitle(R.string.error)
.setMessage("The NIF is" +user +DNIWord "-")
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
})
.create();
}
return null;
}
这两个变量从这里获得:
int user = Integer.parseInt(dniText.getText().toString());
public static String DNIWord(int user) {
return String.valueOf(user) + NIF_STRING_ASOCIATION.charAt(user % 23);
}
多谢各位
编辑:
user
是一个类变量,DNIWord
只是一个方法。修改调用,使其如下所示:
.setMessage("The NIF is" +user +DNIWord (user)+ "-")
DNIWord虽然与一个隐藏的用户
变量一起工作,所以
("The NIF is" +user +DNIWord (user)+ "-")
可以缩短为
("The NIF is" + DNIWord (user)+ "-")
但是,由于user
似乎是类范围的,并且您尝试获取dniText
的值,该值似乎是EditText/TextView
,因此在实际运行应用程序时,您很可能也会得到NullPointerException
。将用户分配移动到类似内部的位置
onCreateDialog()
Edit:用户
不是类作用域,而是onCreate()的局部变量
局部变量,顾名思义,它们是封闭方法的局部变量
将用户移出onCreate(),然后取出onCreate中的int
用户,将其写为user
int user = 0; //class instance variable
public void onCreate(Bundle icicle)
{
//...
try{
user = Integer.parseInt(dniText.getText().toString()); //no "int", just user
}
catch (NumberFormatException e)
{
}
}
然后在
onCreateDialog()
方法中,您应该能够访问user
user
是一个类变量,DNIWord
只是一个方法。修改调用,使其如下所示:
.setMessage("The NIF is" +user +DNIWord (user)+ "-")
int user = 0; //class instance variable
public void onCreate(Bundle icicle)
{
//...
try{
user = Integer.parseInt(dniText.getText().toString()); //no "int", just user
}
catch (NumberFormatException e)
{
}
}
DNIWord虽然与一个隐藏的用户
变量一起工作,所以
("The NIF is" +user +DNIWord (user)+ "-")
可以缩短为
("The NIF is" + DNIWord (user)+ "-")
但是,由于user
似乎是类范围的,并且您尝试获取dniText
的值,该值似乎是EditText/TextView
,因此在实际运行应用程序时,您很可能也会得到NullPointerException
。将用户分配移动到类似内部的位置
onCreateDialog()
Edit:用户
不是类作用域,而是onCreate()的局部变量
局部变量,顾名思义,它们是封闭方法的局部变量
将用户移出onCreate(),然后取出onCreate中的int
用户,将其写为user
int user = 0; //class instance variable
public void onCreate(Bundle icicle)
{
//...
try{
user = Integer.parseInt(dniText.getText().toString()); //no "int", just user
}
catch (NumberFormatException e)
{
}
}
然后在
onCreateDialog()
方法中,您应该能够访问user
谢谢A--C,但错误仍然存在。我已经编辑了全班的信息。@Katherine99在这种情况下,请准确地告诉我们错误是怎么说的。编辑你的范围是关闭的。用户是onCreate()
的本地用户,谢谢您A--C,但错误与此相同。我已经编辑了全班的信息。@Katherine99在这种情况下,请准确地告诉我们错误是怎么说的。编辑你的范围是关闭的。用户是onCreate()的本地用户
int user = 0; //class instance variable
public void onCreate(Bundle icicle)
{
//...
try{
user = Integer.parseInt(dniText.getText().toString()); //no "int", just user
}
catch (NumberFormatException e)
{
}
}