Java 如何在数据库中插入数据后按顺序更改textview
我的要求是, 我有预告片1号和电影的名字。现在,一旦我在表中插入了数据,我需要将文本更改为拖车编号2,直到拖车编号5。因为只需要插入5个数据。此外,我将检查表中是否已经存在1号拖车。如果不存在,则在表中插入,但如果存在,则将文本更改为拖车编号2。这正是它应该起作用的场景 但在我的例子中,当我插入1号拖车时,它跳到5号拖车,而不是不显示2号拖车 点击按钮后Java 如何在数据库中插入数据后按顺序更改textview,java,android,database,if-statement,android-sqlite,Java,Android,Database,If Statement,Android Sqlite,我的要求是, 我有预告片1号和电影的名字。现在,一旦我在表中插入了数据,我需要将文本更改为拖车编号2,直到拖车编号5。因为只需要插入5个数据。此外,我将检查表中是否已经存在1号拖车。如果不存在,则在表中插入,但如果存在,则将文本更改为拖车编号2。这正是它应该起作用的场景 但在我的例子中,当我插入1号拖车时,它跳到5号拖车,而不是不显示2号拖车 点击按钮后 boolean isFirstTrailerNumberExist = myDb.isExist("Trailer Number 1");
boolean isFirstTrailerNumberExist = myDb.isExist("Trailer Number 1");
boolean isSecondTrailerNumberExist = myDb.isExist("Trailer Number 2");
boolean isThirdTrailerNumberExist = myDb.isExist("Trailer Number 3");
boolean isFourthTrailerNumberExist = myDb.isExist("Trailer Number 4");
boolean isFifthTrailerNumberExist = myDb.isExist("Trailer Number 5");
if(isFirstTrailerNumberExist) {
Toast.makeText(this, "Trailer Number 1 already Exist", Toast.LENGTH_SHORT)
.show();
} else {
boolean isInserted = myDb.insertData(trailerNumberName.getText().toString(),
trailerNumberCount.getText().toString());
if(isInserted){
Toast.makeText(TrailerNumberActivity.this,"Inserted successfully",Toast.LENGTH_SHORT)
.show();
trailerNumberName.setText("Trailer Number 2");
}
else{
Toast.makeText(TrailerNumberActivity.this,"Insertion failed",Toast.LENGTH_SHORT)
.show();
}
}
if(isSecondTrailerNumberExist){
Toast.makeText(this,"Trailer Number 2 already Exist",Toast.LENGTH_SHORT)
.show();
}
else {
boolean isInserted = myDb.insertData(trailerNumberName.getText().toString(),
trailerNumberCount.getText().toString());
if(isInserted){
Toast.makeText(TrailerNumberActivity.this,"Inserted successfully",Toast.LENGTH_SHORT)
.show();
trailerNumberName.setText("Trailer Number 3");
}
else{
Toast.makeText(TrailerNumberActivity.this,"Insertion failed",Toast.LENGTH_SHORT)
.show();
}
}
//the same repeats for third, fourth and fifth trailer too to check in db
if(isThirdTrailerNumberExist){
Toast.makeText(this,"Trailer Number 3 already Exist",Toast.LENGTH_SHORT)
.show();
}
else {
boolean isInserted = myDb.insertData(trailerNumberName.getText().toString(),
trailerNumberCount.getText().toString());
if(isInserted){
Toast.makeText(TrailerNumberActivity.this,"Inserted successfully",Toast.LENGTH_SHORT)
.show();
trailerNumberName.setText("Trailer Number 4");
}
else{
Toast.makeText(TrailerNumberActivity.this,"Insertion failed",Toast.LENGTH_SHORT)
.show();
}
}
if(isFourthTrailerNumberExist){
Toast.makeText(this,"Trailer Number 4 already Exist",Toast.LENGTH_SHORT)
.show();
}
else {
boolean isInserted = myDb.insertData(trailerNumberName.getText().toString(),
trailerNumberCount.getText().toString());
if(isInserted){
Toast.makeText(TrailerNumberActivity.this,"Inserted successfully",Toast.LENGTH_SHORT)
.show();
trailerNumberName.setText("Trailer Number 5");
}
else{
Toast.makeText(TrailerNumberActivity.this,"Insertion failed",Toast.LENGTH_SHORT)
.show();
}
}
if(isFifthTrailerNumberExist){
Toast.makeText(this,"Trailer Number 5 already Exist",Toast.LENGTH_SHORT)
.show();
}
else {
boolean isInserted = myDb.insertData(trailerNumberName.getText().toString(),
trailerNumberCount.getText().toString());
if(isInserted){
Toast.makeText(TrailerNumberActivity.this,"Inserted successfully",Toast.LENGTH_SHORT)
.show();
trailerNumberName.setText("Trailer Number 1");
}
else{
Toast.makeText(TrailerNumberActivity.this,"Insertion failed",Toast.LENGTH_SHORT)
.show();
}
}
这就是我重复显示到拖车5的方式,但问题是在插入拖车1后,它会跳到拖车5。当然,它会跳到拖车5,因为当您最初单击按钮时,all---TrailerNumberExist将返回false,因此它会依次将文本设置为“拖车2号”,“3号拖车”等,直到停在“5号拖车”处 像这样做
if(!isFirstTrailerNumberExist) {
// insert and show your entry here
insertDataAndUpdateText("Trailer Number 2");
}else if(!isSecondTrailerNumberExist){
// insert and show your entry here
insertDataAndUpdateText("Trailer Number 3");
}else if(!isThirdTrailerNumberExist){
// insert and show your entry here
insertDataAndUpdateText("Trailer Number 4");
}
等等。。
使用单一方法使您的代码最优化
现在,单击按钮将按顺序输入,并显示输出谢谢。因此,我需要检查else if(!)“而不是if,对吗?正确。使用调试器,它将准确地告诉您发生了什么。您可以在这里学习