Java AlertDialog错误字符串资源ID#0x1
我正在构建一个应用程序,在您输入一些参数(P1、P2、P3)并单击保存后,将弹出一个警报对话框,请求一个数字,在用户输入该数字后,程序将在SQLite注册表T1中输入信息(P1、P2、P3)。它将创建用户在SQLite T2中的AlertDialog中定义的任意多个条目 基本上我有下一个代码:Java AlertDialog错误字符串资源ID#0x1,java,android,sqlite,Java,Android,Sqlite,我正在构建一个应用程序,在您输入一些参数(P1、P2、P3)并单击保存后,将弹出一个警报对话框,请求一个数字,在用户输入该数字后,程序将在SQLite注册表T1中输入信息(P1、P2、P3)。它将创建用户在SQLite T2中的AlertDialog中定义的任意多个条目 基本上我有下一个代码: switch(item.getItemId()){ case R.id.Save: final String UpdateStudyCode = eStudyC
switch(item.getItemId()){
case R.id.Save:
final String UpdateStudyCode = eStudyCode.getText().toString();
final String UpdateStudyDescription = eStudyDescription.getText().toString();
final String UpdateStudyAnalyst = eStudyAnalyst.getText().toString();
if( l == 0){
//New Register Study
if (UpdateStudyCode == ""){
Toast.makeText(getApplicationContext(), "Empty Study Code", Toast.LENGTH_SHORT).show();
}
else{
AlertDialog.Builder dialogCreateElements = new AlertDialog.Builder(this);
dialogCreateElements.setIcon(android.R.drawable.ic_dialog_alert);
dialogCreateElements.setTitle(getResources().getString(R.string.element_create_title));
dialogCreateElements.setMessage(getResources().getString(R.string.element_create_messaje));
final EditText inputelementstarget = new EditText(this);
//dialogCreateElements.setInputType(InputType.TYPE_CLASS_PHONE);
//dialogCreateElements.setRawInputType(Configuration.KEYBOARD_12KEY);
dialogCreateElements.setView(inputelementstarget);
dialogCreateElements.setCancelable(false);
dialogCreateElements.setPositiveButton(getResources().getString(android.R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// TODO Auto-generated method stub
database db = new database (studydetail.this);
db.open();
//Create Study
long studyid;
studyid = db.createEntryStudy(UpdateStudyCode,UpdateStudyDescription,UpdateStudyAnalyst);
//Create number of specific elements
int element=1;
String value = inputelementstarget.getText().toString();
int target = Integer.parseInt(value);
do
{
Toast.makeText(getApplicationContext(), element, Toast.LENGTH_SHORT).show();
db.createEntryElements(element, studyid);
element++;
}
while (element < target+1);
db.close();
Toast.makeText(studydetail.this, R.string.element_create_confirmation, Toast.LENGTH_SHORT).show();
setResult(RESULT_OK);
}
});
dialogCreateElements.setNegativeButton(android.R.string.no, null);
dialogCreateElements.show();
为了给你提供信息,错误在这一行
String value = inputelementstarget.getText().toString();
我没有找到您实际初始化此inputelementstarget
的位置。
实际上,这不是您需要的初始化
final EditText inputelementstarget = new EditText(this);
我认为您正在尝试在AlertDialog
中添加EditText
为此,你必须做的是
- 创建一个布局,其中包含
EditText
- 像这样充气
LayoutInflater li=LayoutInflater.from(上下文); View promptsView=li.充气(R.layout.prompts,null)代码>
- 然后你必须初始化它
final EditText userInput=(EditText)promptsView .findViewById(R.id.editTextDialogUserInput)代码>
有关完整的参考资料,请查看。见答案。你会得到很多信息 为了给您提供信息,错误在这一行
String value = inputelementstarget.getText().toString();
我没有找到您实际初始化此inputelementstarget
的位置。
实际上,这不是您需要的初始化
final EditText inputelementstarget = new EditText(this);
我认为您正在尝试在AlertDialog
中添加EditText
为此,你必须做的是
- 创建一个布局,其中包含
EditText
- 像这样充气
LayoutInflater li=LayoutInflater.from(上下文); View promptsView=li.充气(R.layout.prompts,null)代码>
- 然后你必须初始化它
final EditText userInput=(EditText)promptsView .findViewById(R.id.editTextDialogUserInput)代码>
有关完整的参考资料,请查看。见答案。你会得到很多信息 您需要这样做:
Toast.makeText(getApplicationContext(),元素,Toast.LENGTH_SHORT).show()代码>
元素必须是字符串,当前它是整数
Toast.makeText(studydeail.this,R.string.element\u create\u confirmation,Toast.LENGTH\u SHORT).show()代码>
到
Toast.makeText(studydeail.this、getString(R.string.element\u create\u confirmation)、Toast.LENGTH\u SHORT.show()代码>
希望这对您有所帮助。您需要这样做:
Toast消息必须采用字符串形式
Toast.makeText(getApplicationContext(),元素,Toast.LENGTH_SHORT).show()代码>
元素必须是字符串,当前它是整数
Toast.makeText(studydeail.this,R.string.element\u create\u confirmation,Toast.LENGTH\u SHORT).show()代码>
到
Toast.makeText(studydeail.this、getString(R.string.element\u create\u confirmation)、Toast.LENGTH\u SHORT.show()代码>
希望这将对您有所帮助。当您希望在以下内容中显示元素
值时,会出现错误:
Toast.makeText(getApplicationContext(), element, Toast.LENGTH_SHORT).show();
如果要显示element
变量值,只需使用String.valueOf(element)
即可,如下所示:
Toast.makeText(getApplicationContext(), String.valueOf(element) , Toast.LENGTH_SHORT).show();
你会得到想要的结果
希望这有帮助 当您想在以下位置显示元素
值时,会发生错误:
Toast.makeText(getApplicationContext(), element, Toast.LENGTH_SHORT).show();
如果要显示element
变量值,只需使用String.valueOf(element)
即可,如下所示:
Toast.makeText(getApplicationContext(), String.valueOf(element) , Toast.LENGTH_SHORT).show();
你会得到想要的结果
希望这有帮助 可以发布完整的堆栈跟踪吗?可以发布完整的堆栈跟踪吗?