我开始在Android中编程,而且我遇到了困难。我正在填写寻找数据库对象的ArrayList。
public ArrayList<Box> seekBoxPerLine() {
boxes = new ArrayList<Box>();
Cursor cursor;
if (init == 0) {
String sql = "SELECT * FROM Boxe WHERE line='" + numberLine+ "' ORDER BY position ASC; ";
cursor = database.rawQuery(sql, null);
} else {
String sql = "SELECT * FROM Box WHERE line='" + numberLine + "' ORDER BY positio DESC; ";
cursor = database.rawQuery(sql, null);
}
if (cursor.getCount() >= 0) {
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Box box = new Box();
box.setId(cursor.getLong(0));
box.setFase_cultivo(cursor.getString(1));
boxes.add(box);
cursor.moveToNext();
}
}
cursor.close();
return boxes;
}
我进行验证,并将我的对象的id传递给EditText:
public void verifyBoxLine() {
if (numberLine != null) {
boxes = seekBoxPerLine();
for (Box boxesPerLine : boxes) {
etNumberBoxActually.setText(String.valueOf(boxesPerLine.getId()));
break;
}
}
}
现在我的疑问是如何编程按钮按下它以使用下一个arrayList ID递增相同的EditText?我不知道有任何帮助是受欢迎的。
我的onClick按钮:
public void onClick(View view) {
if (view == btNextBox) {
}
注意:盒子按顺序排成一行,我可以选择从行的开头或结尾开始,所以我意识到检查,不知道它有多大帮助,但它会让它更清晰
答案 0 :(得分:1)
为什么不使用内部计数器?
每当您从DB查询时,您将计数器重置为0;
每当您点击按钮时,都会增加计数器......
private int indexPos = 0;
public ArrayList<Box> seekBoxPerLine() {
//... as above
indexPos = 0;
}
public void onClick(View view) {
if (view == btNextBox) {
indexPos = indexPos + 1;
//... do whatever you need to do
}
}