2016-05-25 24 views
1

这是将数据添加到微调器的代码。 首先我从SD卡读取文件名,然后将其添加到微调器。但它不能工作。它只显示第一个文件名。微调不能显示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); 
     } 

这是我如何设置微调节点。

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

_catagory_ list size is ** 0 ** – Piyush

回答

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(); 
       } 



      } 
+0

working !!谢谢.. –

+0

快乐编码! :) –

1

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

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