【问题标题】:Populate spinner with filenames saved on internal storage使用保存在内部存储中的文件名填充微调器
【发布时间】:2014-12-21 00:52:38
【问题描述】:

在我的应用程序中,我希望有一个微调器,该微调器由我保存到此应用程序内部存储的不同文件填充。接下来,

  • 我希望能够从微调器中打开它们。
  • 我已经创建了微调器,并且能够将文件写入和读取到内部存储。

我怎样才能做到这一点?

【问题讨论】:

  • 你能展示一下你尝试过的东西吗..

标签: android local-storage spinner


【解决方案1】:

列出目录中的文件并从列表中设置微调器:

String path = getApplicationContext().getFilesDir().toString();

//if you want to list from a specific directory you created
//String path = getApplicationContext().getFilesDir().toString()+"/your_Directory";

File directory = new File(path);
File fileList[] = directory.listFiles();
String[] list = new String[fileList.size()];
String[] spinnerList = new String[fileList.size()];

for (int i=0; i < fileList.length; i++)
{
    list[i] = fileList[i].getAbsolutePath().toString();
    spinnerList[i] = list[i].substring(list[i].lastIndexOf("/")+1);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, spinnerList);
    spinner.setAdapter(adapter);

【讨论】:

    【解决方案2】:

    我可以使用下面的代码来完成,但现在我想将文件打开到 TextView 中。 现在我只能在 TextView 上显示文件的标题,但我想显示文件的内容。 感谢您的帮助!

    public class ListasGravadas extends Activity {
    
        private TextView lista;
        private ListView listasGravadas;
        private Spinner spinner;
    
        String[] SavedFiles;
        private Menu menu;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.listas_gravadas);
    
            lista = (TextView) findViewById(R.id.lista);
            listasGravadas = (ListView) findViewById(R.id.listView);
            spinner = (Spinner) findViewById(R.id.spinner);
    
            ShowSavedFiles();
    
            addListenerToSpinner();
    
            FileInputStream fis;
            String content = "";
            try {
                String file = "teste";
                fis = openFileInput(file);
                byte[] input = new byte[fis.available()];
                while (fis.read(input) != -1) {
                }
                content += new String(input);
    
                lista.setText(content);
    
    
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            ShowSavedFiles();
    
        }
    
        private void ShowSavedFiles() {
            SavedFiles = getApplicationContext().fileList();
            ArrayAdapter<String> adapter
                    = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1,
                    SavedFiles);
    
            spinner.setAdapter(adapter);
        }
    
        public void addListenerToSpinner() {
            spinner = (Spinner) findViewById(R.id.spinner);
            lista = (TextView) findViewById(R.id.lista);
            spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> parent, View arg1, int pos, long arg3) {
    
                    String result = parent.getItemAtPosition(pos).toString();
    
                    lista.setText(result);
    
    
                }
    
                public void onNothingSelected(AdapterView<?> arg0) {
                }
            });
    
        }
    }
    

    【讨论】:

      【解决方案3】:

      此代码有效

      void ShowSavedFiles() {
              SavedFiles = getApplicationContext().fileList();
              ArrayAdapter<String> adapter
                      = new ArrayAdapter<String>(this,
                      android.R.layout.simple_list_item_1,
                      SavedFiles);
      
      
              listSavedFiles.setAdapter(adapter);
              adapter.notifyDataSetChanged();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-31
        • 2012-03-16
        • 2011-10-10
        • 1970-01-01
        • 2012-10-21
        相关资源
        最近更新 更多