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就很容易就会了.

    最后,不会的多了去了,虚心多百度.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值