Day2 & Day3

  昨天上午复习了ListView,写了两个练手的单选和多选,看了SimpleAdapter,它比BaseAdapter在新建时多了两个参数,new String90{};new int[]{}。

  虽然listView对于现在理解了的我来说挺简单的,但是两个小实验还是写了整整半天的时间。

  感觉代码的第一重境界就是看的懂,理解的了意思;第二重就是能够在较少提示的情况下完成代码。第一重到第二重的距离看上去很短,其实也还是有点难度的,需要大量的练习和时间。就是我们高中时的题海战术一样,又像如果在公司中常常用到这个组件会用的很熟练一样,都是熟能成巧啊。

  所以以后有时间的话,可以更多的选择写写基本的东西呢,也挺有快感的哈。不知道这种想法是不是很不成熟啊,哈哈。

 

  昨天中午收到了宁波银行的面试通知,导致整个下午都在看面经啊啥的,没有很好的学习。通知1:15分开始的面试。3点多才开始,今天一整天的时间也大致都没了Zzz.

  一起去面试的小伙伴毕业设计都做好了,然后就很体现我毕设的紧迫性。挺有压力的,比较紧张。适度压力吧,前置压力。

  今天顿时有种,我要日以继夜的写代码” 的觉悟。

  晚上看了ViewPager,根据慕课网上的(微信60.主界面)代码把它第一个小实验ViewPager实现了,第二个View还没跑通有点问题。

  我的毕设的第一个界面就要实现这种Tab导航栏。可以借鉴这一块,有个难点是还不了解它能不能指向4个Activity,而不是四个View,感觉Activity的话,写起来会比较有条理一点哈。明天去看看有没有关于ViewPager的书吧,仔细看一下哈。

  

  我来回忆一下哈:

    最简单的xml中,它只写了ViewPager的组件,就和最普通的TextView一样写。

    因为要用到Fragment,所以写了TabFragment类。这里的类其实就是实现一个TextVIew。突然想到,能不能让这个类真正的实现一个完整的Fragment呢,Fragmenthe Activity也没有功能上的差别是吧?对啊,本来就是应该用Fragment而不是Activity的!那怎么实现要每一Tab对应一个Fragment呢。想想,想想。

    然后在MainActivity中,定义了ViewPager,存Fragment的ArrayList:mTabs,每个Tab页的名称 mTitles,ViewPagers的适配器mAdapter。

    private ViewPager mViewPager;
    private List<Fragment> mTabs = new ArrayList<Fragment>();//把Fragment添加到这个list中
    private String[] mTitles = new String[]
            { "First Fragment !", "Second Fragment !", "Third Fragment !",
                    "Fourth Fragment !" };
    private FragmentPagerAdapter mAdapter;

  今天还学到一点就是,慕课上的老师,它的代码没有像书上一样,把一股脑的所有viewPager的取值啦,Adapter的实现啦全部写在onCreat方法中,而是在onCreat方法中调用了initView(),initData()方法,然后再到方法中去实现。虽然没有本质的区别,但明显这是一个更好的代码习惯。

  initView()很简单:

    private void initView()
    {
        mViewPager = (ViewPager) findViewById(R.id.id_viewpager);

    }

  initData()方法分两块,第一块是根据Tab页的名称,来决定Fragment中的TextView的值;第二块是实现Adapter。

private void initDatas()
    {
        for (String title : mTitles)
        {
            TabFragment tabFragment = new TabFragment();//给Fragment页面传TITLE的值。
            Bundle bundle = new Bundle();
            bundle.putString(TabFragment.TITLE, title);
            tabFragment.setArguments(bundle);
            mTabs.add(tabFragment);
        }

        mAdapter = new FragmentPagerAdapter(getSupportFragmentManager())
        {
            public int getCount()
            {
                return mTabs.size();
            }

            public Fragment getItem(int position)
            {
                return mTabs.get(position);
            }
        };
    }

    

  哎呀,想到了,在 for (String title : mTitles){...}这一块当中,根据不同的String名称t跳转到不同的Fragment,然后每个Fragment各自对应他们的layout.xml不就可以了么。明天去试下呀呀呀!

 

  今天晚上闭馆回来的路上,下着小雨,我还丢了伞。一起走的婷婷突然对我说,“你有没有听过一句话,目标明确的人走起路来都比较快呢。”

 

  

 

posted @ 2016-04-08 01:09  一路向北280  阅读(173)  评论(0编辑  收藏  举报