[英]How to press a button, move to the next position of an array
我开始用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;
每当您点击按钮时,您都会增加计数器...
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
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.