2016-05-25 57 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); 
}