Android删除重复的Textview

时间:2013-03-01 14:43:14

标签: java android textview

我有sqlite数据库,我存储了一些信息。

ID  NUMBER     posX    posY

1   232342     235     346
2   345.4353   344     123
3   23         124     157

我创建了拖放onTouchlistener并且它完美地工作,如您所见,它将一些信息存储在数据库中。

DragEvent.ACTION_DRAG_LOCATION:

mCurX = (int) event.getX();
mCurY = (int) event.getY();

DragEvent.ACTION_DROP

final String sql = "INSERT or REPLACE INTO number_dash (numbers, X, Y) VALUES ('"+Dropped.getText()+ "', '"+ mCurX+ "', '"+ mCurY + "')";
db.execSQL(sql);

在我的数据库中插入后,我使用选择语句,它也可以完美运行。

    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也会停留在那里。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果我理解得很好,你不希望屏幕上有重复的值吗?为了避免你有一个空数组,在你想要添加值之前(touchlistener)你可以添加if语句..这样的事情:

if (!array.contains(value)) {
   array.add(value);
}

只要它们没有相同的数字,这将继续添加文本视图..

相关问题