旋转器不能显示SD卡的数据

时间:2016-05-25 07:19:26

标签: android spinner

这是将数据添加到微调器中的代码。 首先,我从SD卡读取文件名,然后将其添加到微调器。但它无法奏效。它只显示第一个文件名。

   File yourDir = new File(catagoryFilePath);
        for (File f : yourDir.listFiles()) {
            if (f.isFile()) {

                myCatagoryFilename = f.getName();

            }

            try {
                String categoryFileName[] = myCatagoryFilename.split("@");
                for(int i = 0; i<categoryFileName.length; i++){
                    String catagoryData = categoryFileName[i];
                    if (catagoryData.contains("-")) {
                        String data[] = catagoryData.split("-");
                        String lang = data[0];
                        String cat = data[1];
                    }
                }

                String catagoryName = categoryFileName[2];


            } catch (Exception e) {
                e.printStackTrace();
            }


            catagory = new ArrayList<String>();
            catagory.add(myfileName);
        }

这就是我设置spinner adepter的方式。

catagoryAdapter = new ArrayAdapter<String>(this, R.layout.spinner, catagory);
        catagoryAdapter.setDropDownViewResource(R.layout.spinner);
        mySpinnerCatagoryList.setAdapter(catagoryAdapter);

2 个答案:

答案 0 :(得分:1)

您正在循环的每次迭代重置变量catagory。将此行移出for循环:

catagory = new ArrayList<String>(); // move this line up.
for (File f : yourDir.listFiles()) {
  // the rest
  catagory.add(myfileName);
}

答案 1 :(得分:1)

您没有在catagory列表中添加名称。在loop运行的地方进行这些更改,以便添加所有文件名。

catagory = new ArrayList<String>();

File yourDir = new File(catagoryFilePath);
            for (File f : yourDir.listFiles()) {
                if (f.isFile()) {

                    myCatagoryFilename = f.getName();

                catagory.add(myfileName);//myCatagoryFileName

                }

                try {
                    String categoryFileName[] = myCatagoryFilename.split("@");
                    for(int i = 0; i<categoryFileName.length; i++){
                        String catagoryData = categoryFileName[i];
                        if (catagoryData.contains("-")) {
                            String data[] = catagoryData.split("-");
                            String lang = data[0];
                            String cat = data[1];
                        }
                    }

                    String catagoryName = categoryFileName[2];


                } catch (Exception e) {
                    e.printStackTrace();
                }



            }