簡體   English   中英

使用for循環初始化字符串數組

[英]String array initialization using for loop

我有一個 listView,它顯示 android 應用程序中最近的文件列表。 在這里,我有一個文件數組“fileList[]”及其長度 sizeOfFiles。 我將文件名分配給字符串數組“file_names”,然后將此字符串放入 ArrayAdapter 以在 listView 中使用。 有沒有辦法使用for循環為字符串賦值? 我嘗試使用 for 循環,但我的應用程序停止工作。 所以我使用了多個 else if 語句。

String file_names[]= null;
        if (sizeOfFiles < 1) {
            file_names = new String[]{"No recent files.\nTouch New to add files."};
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names);
            listView.setAdapter(adapter);
        }


        else if (sizeOfFiles == 1) {
            file_names = new String[]{filesList[sizeOfFiles - 1].getName()};
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names);
            listView.setAdapter(adapter);
        }

        else if (sizeOfFiles == 2) {
            file_names = new String[]{filesList[sizeOfFiles - 1].getName(), filesList[sizeOfFiles - 2].getName()};
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names);
            listView.setAdapter(adapter);
        }

據我了解,您正在尋找類似的東西:

        String file_names[]= new String[(int)Math.max(sizeOfFiles,1)];
        if (sizeOfFiles < 1) {
            file_names[0] = "No recent files.\nTouch New to add files.";
        } else  { 
            for(int i=sizeOfFiles-1;i>=0;i--){
                file_names[(sizeOfFiles-1)-i] = filesList[i].getName();
            }
        }  
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names);
        listView.setAdapter(adapter);

我希望它有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM