Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android删除重复的文本视图_Java_Android_Textview - Fatal编程技术网

Java Android删除重复的文本视图

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

我在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.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);