Java Android删除重复的文本视图
我在sqlite数据库中存储了一些信息Java Android删除重复的文本视图,java,android,textview,Java,Android,Textview,我在sqlite数据库中存储了一些信息 ID NUMBER posX posY 1 232342 235 346 2 345.4353 344 123 3 23 124 157 我在TouchListener上创建了拖放,它工作得非常好,正如您所看到的,它在数据库中存储了一些信息 拖动事件。操作\u拖动\u位置: mCurX = (int) event.getX(); mCurY = (int) event.ge
ID NUMBER posX posY
1 232342 235 346
2 345.4353 344 123
3 23 124 157
我在TouchListener上创建了拖放,它工作得非常好,正如您所看到的,它在数据库中存储了一些信息
拖动事件。操作\u拖动\u位置:
mCurX = (int) event.getX();
mCurY = (int) event.getY();
DragEvent.ACTION\u DROP
final String sql = "INSERT or REPLACE INTO number_dash (numbers, X, Y) VALUES ('"+Dropped.getText()+ "', '"+ mCurX+ "', '"+ mCurY + "')";
db.execSQL(sql);
在我的数据库中插入后,我使用了select语句,它也能很好地工作
Cursor newQuery = db.query("number_dash",null, null, null, null, null, null,null);
if (newQuery.moveToFirst()) {
do {
int ID = Integer.parseInt(newQuery.getString(0));
String number = newQuery.getString(1);
float X = Integer.parseInt(newQuery.getString(2)) - 40;
float Y = Integer.parseInt(newQuery.getString(3)) - 40;
TX = new TextView(MainActivity.this);
TX.setOnTouchListener(new ChoiceTouchListener());
TX.setText(number);
TX.setId(ID);
TX.setX(X);
TX.setY(Y);
TX.setTextColor(Color.parseColor("#FFFFFF"));
} while (newQuery.moveToNext());
}
当我写更新声明时,我以为我的项目快完成了
如果我再次触摸Texview并拖动到另一个位置(在相对布局中),我的更新语句工作正常,但旧的Texview也会留在那里
如果我理解得很好,您不想在屏幕上显示重复的值,对吗?为了避免可能有一个空数组,在想要添加值(touchlistener)之前,可以添加if语句。。大概是这样的:
if (!array.contains(value)) {
array.add(value);
}
这个if将继续添加文本视图,只要它们没有相同的编号。感谢您的回复,您完全正确,但是。。。我不明白,当我在查询中更新旧的textview时,它怎么还能保持在旧的位置?我怎样才能去掉旧的?谢谢…你可以像这样删除旧的:yourlayout.removeView(TX);