ArrayList的實際應用

   實際問題:

           用戶輸入信息(比如:貨物名稱),已經用java流寫入"name"的文件中,現在需要將其讀取出來,存放在數組中,加載配適器到listview中.


    private ListView lsv_1;

    static ArrayList<String> list = new ArrayList<String>(); //一定要初始化否則在add時報錯
                                                                                                //ArrayList <String>list;只是聲明
    @Override                                                                         //了一個引用變量,實際上並未有
    protected void onCreate(Bundle savedInstanceState) {//真正的內存空間,更不用說方法

        super.onCreate(savedInstanceState);

        setContentView(R.layout.xianshi);
  
        try {
            FileInputStream fis = openFileInput("test");

            BufferedReader reader = new BufferedReader(new InputStreamReader(fis));

            String line ="";

             while( (line = reader.readLine()) != null){          //利用循環,將每行讀取到ArrayList

                 list.add(line);                                                    //ArrayList的add方法,精髓.

             }
            
        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();
        }
        
        String[] array = new String[list.size()];                    //初始化一個長度相同的固定數組

        list.toArray( array);                                                   //ArrayList的toArray方法
    
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(Xianshi.this, android.R.layout.simple_list_item_1, array);                 //配置到數組配飾適器
        
        lsv_1 = (ListView) findViewById(R.id.listView1);

        lsv_1.setAdapter(adapter);                                      //加載配適器到ListView
        
    }
    
    @Override
    protected void onDestroy() {                                        //活動銷燬時候,歸零ArrayList
        // TODO Auto-generated method stub                    //否則二次加載list造成重複
        super.onDestroy();
        list.removeAll(list);
    }


反思:

    我在簡單這塊轉化上,花費了很長時間.初學者對體系不瞭解,造成很多方法的錯用,浪費了比較長時間.

     優點:笨人笨方法,一個變量去調試&&簡化問題測試給了我很多便利,至少有個思路.

     缺點:變通性差,要勇於放棄,多試試幾種辦法,像之前用複製數組的辦法,可能還要迷糊好久,用了ArrayList就很容易就會了.

    最後,不會的多了去了,虛心多百度.

發佈了56 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章