Java Can';t每次运行该方法时都不清除ArrayList public void incorrectlive(){ ArrayList Wor=新的ArrayList(); ArrayList Def=新的ArrayList(); LinearLayout布局=(LinearLayout)findViewById(R.id.WW); 扫描仪sc、sc2; 整数计数=0; 试一试{ Wor.clear(); Def.clear(); sc=新扫描仪(openFileInput(“w.txt”); sc2=新扫描仪(openFileInput(“d.txt”); 而(sc.hasNextLine()&&sc2.hasNextLine()){ Q=sc.nextLine(); 工作增加(Q); D=sc2.nextLine(); 定义.添加(D); 计数++; } sc.close(); sc2.close(); }捕获(例外e){ Toast.makeText(此“错误”,Toast.LENGTH_LONG).show(); } for(int i=0;i

Java Can';t每次运行该方法时都不清除ArrayList public void incorrectlive(){ ArrayList Wor=新的ArrayList(); ArrayList Def=新的ArrayList(); LinearLayout布局=(LinearLayout)findViewById(R.id.WW); 扫描仪sc、sc2; 整数计数=0; 试一试{ Wor.clear(); Def.clear(); sc=新扫描仪(openFileInput(“w.txt”); sc2=新扫描仪(openFileInput(“d.txt”); 而(sc.hasNextLine()&&sc2.hasNextLine()){ Q=sc.nextLine(); 工作增加(Q); D=sc2.nextLine(); 定义.添加(D); 计数++; } sc.close(); sc2.close(); }捕获(例外e){ Toast.makeText(此“错误”,Toast.LENGTH_LONG).show(); } for(int i=0;i,java,android,arraylist,Java,Android,Arraylist,每次运行incorrective()时,我都想清除Wor和Def的内容,但它没有发生。Catlog中没有错误,它只会不断重新添加旧的错误,这会导致重复请尝试放置清除();您的try/catch块之外的方法 根据调用此方法的上下文,程序也可能有逻辑错误。任何使用static关键字的操作都可能导致某些问题 所以我找到了解决方案…问题在于使用的文件。。。所以我用PrintStream刷新了它们。感谢您的支持您所说的“它没有发生”是什么意思?为什么要调用clear()?您刚刚创建了列表,因此它们已经是空

每次运行
incorrective()
时,我都想清除
Wor
Def
的内容,但它没有发生。Catlog中没有错误,它只会不断重新添加旧的错误,这会导致重复

请尝试放置清除();您的try/catch块之外的方法


根据调用此方法的上下文,程序也可能有逻辑错误。任何使用static关键字的操作都可能导致某些问题

所以我找到了解决方案…问题在于使用的文件。。。所以我用PrintStream刷新了它们。感谢您的支持

您所说的“它没有发生”是什么意思?为什么要调用
clear()
?您刚刚创建了列表,因此它们已经是空的。但是,即使在方法中初始化它们之后,它们似乎也有数据,这应该使它们为空,但事实并非如此。可能需要清除的是
addword
添加到的任何内容,例如,在
之前为
for
循环添加对
的调用?为什么使用“安卓”标签?谢谢你们的支持,欢迎来到社区!不要被粗鲁的人打扰,他们在回答你们的问题时会让你们泄气;)
public void incorrectlive() {
ArrayList<String> Wor = new ArrayList<>();
ArrayList<String> Def = new ArrayList<>();
    LinearLayout layout = (LinearLayout) findViewById(R.id.WW);

    Scanner sc, sc2;
    int count = 0;
    try {
        Wor.clear();
        Def.clear();
        sc = new Scanner(openFileInput("w.txt"));
        sc2 = new Scanner(openFileInput("d.txt"));
        while (sc.hasNextLine() && sc2.hasNextLine()) {
            Q = sc.nextLine();
            Wor.add(Q);
            D = sc2.nextLine();
            Def.add(D);
            count++;
        }
        sc.close();
        sc2.close();


    } catch (Exception e) {
        Toast.makeText(this, "error", Toast.LENGTH_LONG).show();
    }

    for (int i = 0; i < count; i++) {
        String wr = Wor.get(i);
        String dr = Def.get(i);
        addword(wr, dr, layout);
    }
}