主要是遇见两个问题:一是Activity中各种方法,太混乱;二是Layout中组件命名特容易重复;
以前写Activity的时候,onCreate()方法里写了各种组件、Listener、Adapter等等。怎一个乱子了得!代码量小还好;代码多的时候,若没有注释,连我自己都看着吃力。
所以,这次做的时候注意起规范来。效果比较明显,主要是这么整的:
对于各种组件,在从布局文件获取的时候,把他们的获取语句全写进一个findViews()方法里,就像这样:
ratEvaluate = (RatingBar) findViewById(R.id.rat_search_doctor_by_rat);
spinSpeciality = (Spinner) findViewById(R.id.spinner_search_doctor_by_speciality);// 按医生专长;
spinHolderofanoffice = (Spinner) findViewById(R.id.spinner_search_doctor_by_Holderofanoffice);// 按患者收入水平
btnSearch = (Button) findViewById(R.id.btn_search_doctor_by_implicit_searching_qualification);// 搜医生;
同理,把为各种组件设置Adapter的语句放进setAdapters(),把为各种组件设置Listener的语句放进setListeners(),就像这样:
spinSpeciality.setOnItemSelectedListener(spinSpeclistener); // 医生专长Spinner监听设置;
spinHolderofanoffice
.setOnItemSelectedListener(holderofanofficeListener); // 职称Spinner监听设置;
btnSearch.setOnClickListener(btnsearchListener); // 监听点击按钮事件;
同时,把各个Listener的实例放进监听方法里,而各个实例在setListeners()方法外实例化;这样把类似语句放进方法块里,程序显得比较简洁,查找代码时也比较方便。
第二个命名问题,main.xml中各种组件,一个xml还容易,只要组件id命名不同,还能分得清。但若是有十个二十个xml呢?
必须晕!
所以,额在命名组件的时候,用组件类型+类名+意义来标识一个组件;
比如btn_searchdoctorbyname_getnextdoctor,表示这是个button组件,在searchdoctorname类中,表示点击获得下个医生。
这样相当明确,不用弄混。