android培训视频-课堂笔记_第1页
android培训视频-课堂笔记_第2页
android培训视频-课堂笔记_第3页
android培训视频-课堂笔记_第4页
android培训视频-课堂笔记_第5页
已阅读5页,还剩441页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android课堂笔1234567·JavaSE:IO操作,要懂得图形化界swing。对 ·3G:可以处理、等一些相关数据流量的信2、AndroidAndroidAndroidLinux;1Android二、搭建Android开发环12345671、可以并安装Android-SDK开发工具2Eclipse中配置ADT2、Android2.3及以下版本主要用于开发,Android3.0及以上版本,主要用于平1、Activity三、Activity初12345671、可以使用Eclipse进行简单的Android2、可以掌握Android3、可以掌握Android4、可以掌握ActivityAndroidManifest.xml<LinearLayout<LinearLayoutandroid:layout_width="match_parent"—表示宽度为全android:orientation="vertical>--表示此布局下的组件以垂直的方式码放android:text="这是我的第一个程序"/>--此组件显示的内容 oWorld"/>packageimportimportpackageimportimportpublicclassMyFirstActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){ }}EclipseAndroid程序有非常多的文件夹,那么现在不同的文件在我们的布局文件中直接将字符串内容写在里面这样写法是确的在以后的开发中,strings.xml中,这是一个规则,必须遵守,当然,在以后上课的过<?xml<?xmlversion="1.0"encoding="utf-<string<string o<stringoandroid:text="@string/textcontent/>-- oworld"<?xmlversion="1.0"encoding="utf-<manifest <?xmlversion="1.0"encoding="utf-<manifest android:versionName="1.0>--可以让用户看到的版本android:minSdkVersion="10"–这边是SDK的最低的版"android:icon="@drawable/ic_launcher"—程序安装之后的图android:theme="@style/AppTheme">-程序所使用的android:label="@string/app_name">--此Activity的名称<actionandroid:name="ent.action.MAIN/>--配android:name="ent.category.LAUNCHER/>--配置publicclassMyFirstActivityextendsActivityprivateTextViewmytext1=null;privatepublicclassMyFirstActivityextendsActivityprivateTextViewmytext1=null;privateTextViewmytext2=null;protectedvoidonCreate(BundlesavedInstanceState){this.mytext1(TextViewsuper.findViewById(R.id.mytext1);//this.mytext2=(TextView)容}}Activity程序中定义一个新publicpublicclassMyFirstActivityextendsActivityprivateTextViewmytext1=null;privateTextViewmytext2=null;privateLinearLayoutmylayout=null;privateButtonbut=null;protectedvoidonCreate(BundlesavedInstanceState){this.mytext1(TextViewsuper.findViewById(R.id.mytext1);//thisthis.mytext2=(TextView)super.findViewById(R.id.mytext2);this.mylayout=(LinearLayout) 容 this.but=newButton(this);//实例化按钮组件}publicpublicclassMyFirstActivityextendsActivity{privateLinearLayoutmylayout=null;privateButtonbut=null;protectedvoidonCreate(BundlesavedInstanceState){this.mylayout=newLinearLayout(this);this.butnewButton(this);//}}1234567早上在Activity程序中我们有讲到使用findViewbyId这个方法去取得在布局文件中定义后面是通过强制转换将View 转换成其他的组件类型。API五、Android中的基本控件(上)——文本1234567ViewView类中定义的所有的 o_world"–内容android:textSize="25px"—字体大小 android:layout_marginLeft="50px"—离左边距离android:maxLength="3"/>--3个字符 <stylename="AppBaseTheme"<stylename="AppTheme"<style publicpublicclassTextViewActivityextendsActivityprivateTextViewtextView=null;protectedvoidonCreate(BundlesavedInstanceState){this.textView(TextViewsuper.findViewById(R.id.mytext);}}六、Android中的基本控件(上)——按钮12345672、可以在ActivityButton是一个特殊的文本显示组件。就等于说在文本显示组件上面所使用的属性Button上面使用。android:text="厦门万策智业科 publicclassButtonActivitypublicclassButtonActivityextendsActivity{privateLinearLayoutmylayout=null;protectedvoidonCreate(BundlesavedInstanceState){this.mylayout=(LinearLayout)ButtonbutnewButton(this);//在Activity程序中实例化新的组件的时候 }}七、Android中的基本控件(上)——编辑1234567Activity android:numeric="integer"—只能输入 android:editable="false"—设置当然我们在ActivityEditTextpublicpublicclassEditTextActivityextendsActivityprivateEditTexteditText=null;protectedvoidonCreate(BundlesavedInstanceState){this.editText(EditTextsuper.findViewById(R.id.editname);}}“androi:passwod="tru"八、Android中的基本控件(上)——单选1234567<inputtype="radio"name="initvlaue="boy"><inputtype="radio"name="initvlaue="girl">html中的单选钮的写法。那么我们在AndroidRadioGroup中所有的单选钮只能选择一个。RadioGroupLinearLayoutLinearLayout中的所有的定义都RadioGroup中。通过继承关系可以发现,RadioButton是一个特殊的按钮组件。 :"/>>这里就是放置RadioButtonandroid:text="女 >这里就是放置RadioButton >这里就是放置RadioButton九、Android中的基本控件(上)——复选1234567 android:text=""android:checked="true"—设置默认选publicpublicclassCheckBoxActivityextendsActivityprivateCheckBoxinit3=null;protectedvoidonCreate(BundlesavedInstanceState)thisthis.init3(CheckBoxsuper.findViewById(R.i3);}}十、Android中的基本控件(上)——下拉123456(逃课71、掌握下拉列表Spinner3、可以通过配置文件配置Spinner在html中,下拉列表使用<select>这个完成,如果想要在此中添加下拉列表,对于Spinner这个组件来说 ,在Spinner类中,setAdapter(SpinnerAdapter方法就是设置下来列表的选择内容,SpinnerAdapter就是一个适配器,会将所有的数据进行封装,封装之后通过此方法就可以放Spinner中。android:text="请选择编码格式:"/><?xmlversion="1.0"<?xmlversion="1.0"encoding="utf-<string-arrayArrayAdapter·List<string-array<string-arrayActivity程序进行配置,我们要知道ArrayAdapter类似于一个集合,只需要制定泛型。publicpublicclassSpinnerActivityextendsActivity{privateSpinnercolorSpinner=null;ArrayAdapter<CharSequence>adapter=null;protectedvoidonCreate(BundlesavedInstanceState){this.colorSpinner=(Spinner)息this.adapter=ArrayAdapter.createFromResource(this,R.array.color_,android.R.layout.simple_spinner_item);}}}ListpackageimportimportimportimportimportimportpublicclassSpinnerActivityextendsActivity{privateSpinnercolorSpinner=null;privateSpinnercitySpinner=null;ArrayAdapter<CharSequence>adapterColor=null;ArrayAdapter<CharSequence>adapterCity=null;List<CharSequence>list=null;protectedvoidonCreate(BundlesavedInstanceState){this.colorSpinner=(Spinner)息this.adapterColor=R.array.color_,thisthis.citySpinner=this.listnewArrayList<CharSequence>();//实例化集合this.adapterCitythis.citySpinner.setAdapterthis.adapterCity}}十一、Android中的基本控件(上)——图123456(逃课72、掌握的保存RadioGroupRadioButton的一个容器,ImageView也是提供了一个放置的容器,在android工,所有的都保存在res/drawable文件夹中。 1、所有的要求保存在:drawable-xx文件夹之中十二、Android中的基本控件(上)——图123456(逃课7文本显示组件,ImageButton是ImageView的子类,表示是对视图进行了功能的扩充,ImageViewImageButton中使用。android:src="@drawable/ic_launcher"/>十三、Android中的基本控件(上)——时123456(逃课7android:layout_height="wrap_content"/>publicpublicclassTimePickerActivityextendsActivityprivateTimePickertp1=null;protectedvoidonCreate(BundlesavedInstanceState){this.tp1(TimePickersuper.findViewById(R.id.tp1);}十四、Android中的基本控件(上)——日123456(逃课7publicclasspublicclassDatePickerActivityextendsActivityprivateDatePickerdp1=null;protectedvoidonCreate(BundlesavedInstanceState){this.dp1(DatePickersuper.findViewById(R.id.dp1);设置显示的时间在}}十五、布局管理器——线性布局管理12015-在android中,只要定义了组件的话,这个组件就必须放性布局管理器中,另外一部分/apk/res/android—布局文含的是 android:layout_width="match_parent"–此布局宽度为全屏android:layout_height="match_parent"–此布局高度全屏android:orientation="vertical">--此布局中组件垂直码放线性布局管理器 中最常用的布局管理器 android:orientation="horizontal"> "/> "/> "/>当然我们也可以通过Activitypackageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importpublicclassLinearLayoutActivityextendsActivityprivateLinearLayoutlayout=null;privateButtonbut1=null;privateButtonbut2=null;privateButtonbut3=null;protectedvoidonCreate(BundlesavedInstanceState)this.layout=newLinearLayout(this);LinearLayout.LayoutParamslayoutParams=放this.but1=newButton(this); this.but2=newButton(this); this.but3=newButton(this); LinearLayout.LayoutParamsbutParams=}}十六、布局管理器——线性布局管理12015-3FrameLayoutFrameLayout.LayoutParamsActivity程序之中动态生 android:text="请输入您"packageimportandroid.app.Activity;packageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importandroid.widget.EditText;importimportpublicclassFrameLayoutActivityextendsActivityprivateFrameLayoutlayout=null;privateImageViewimgView=null;privateEditTexteditText=null;privateButtonbut=null;protectedvoidonCreate(BundlesavedInstanceState)this.layout=newFrameLayout(this);FrameLayout.LayoutParamslayoutParams=newFrameLayout.LayoutParams.MATCH_PARENT准备;//this.imgView=new this.editText=newEditText(this);this.but=newButton(this);FrameLayout.LayoutParamschildParams=}}很少写在Activity中。十七、布局管理器——表格布局管理12015- android:layout_height="match_parent"><TableRow>android:text="请输入检索关键字>android:text="请选择编码> android:layout_height="match_parent">> <View–这边是定义一根横线> android:text="厦门市思明区软件园二期观日路54号之一5楼> packagepackageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view.ViewGroup;importandroid.widget.TableLayout;importandroid.widget.TableRow;importandroid.widget.TextView;publicclassTableLayoutActivityextendsActivityprivateStringtitleData[][]=newString[][]{"ID", ", ","地址" //标题{"万策智业", 隐藏第 """,厦门publicvoidonCreate(BundlesavedInstanceState)TableLayoutlayoutnewTableLayout(this);//TableLayout.LayoutParamslayoutParam=);//);//for(intx=0;x<this.titleData.length;x++)TableRowrownewTableRow(thisfor(inty=0;y<this.titleData[x].length;y++){TextViewtext=newTextView(this);//创建文本组件text.setText(this.titleData[x][y]);//设置文本内容row.addView(text,y); //增加组件} }super.setContentView(layout }}3Activity十八、布局管理器——相对布局管理12015-2、可以使用Activity程序动态增加组件。 android:layout_height="match_parent">android:text="这是一个文本显示组件"/>android:layout_toRightOf="@+id/text"--放在text组件的右android:layout_above="@+id/but"—放在butpackagepackageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importpublicclassRelativeLayoutActivityextendsActivityprivateRelativeLayoutlayout=null;privateButtonbut2=null;protectedvoidonCreate(BundlesavedInstanceState){this.layout=this.but2=newRelativeLayout.LayoutParamsRelativeLayout.LayoutParamsbutParams=butParams.addRule(RelativeLayout.LEFT_OFR.id.img);//添加规则放butParams.addRule(RelativeLayout.BELOWR.id.text);//添加规则放}}2RelativeLayoutRelativeLayout.LayoutParamsActivity十九、布局管理器——布局管理器的嵌12015- android:text="这是一个按钮"/>>>android:text="请输入检索内容android:text="检索 二十布局管理器——绝对定位布局管理12345671、相对布局管理器已经在Android2.3之后被1、Android二十一、Android事件处理——事件处理1234567packagepackageimportimportimportimportimportimportpublicclassEventListenerActivityextendsActivity{Buttonbut=null;EditTextedt=null;importimportimportimportpublicclassEventListenerActivityextendsActivity{Buttonbut=null;EditTextedt=null;protectedvoidonCreate(BundlesavedInstanceState){but=(Button)super.findViewById(R.id.but);edt=(EditText)super.findViewById(R.id.edt);but.setOnClickListener(newOnClickListenerImpl());}classOnClickListenerImplimplementspublicvoidonClick(Viewv){}packageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importimportimportpublicclassEventListenerActivityextendsActivity{Buttonbut=null;EditTextedt=protectedvoidonCreate(BundlesavedInstanceState){but=(Button)super.findViewById(R.id.but);edt=(EditText)super.findViewById(R.id.edt);but.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv) }}}的方法名相同的事件处理方法就可以了(View(1)程序1、Android二十二、Android事件处理击事12015-处理单击事件的处理接口是OnClickListenerOnClick tools:context=".OnClickActivity">packagepackageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importimportandroid.widget.Button;importandroid.widget.EditText;importpublicclassOnClickActivityextendsActivity{EditTextedt=null;TextViewtv=null;Buttonbut=null;protectedvoidonCreate(BundlesavedInstanceState){this.edt=(EditText)super.findViewById(R.id.edt);this.but=(Button)super.findViewById(R.id.but);this.tv=(TextView)super.findViewById(R.id.tv);this.but.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv)}}}EditTextTextView当中,在这里我们再1、Android事件处理——单选钮与二十三、Android事件处理——单选钮与1234567 tools:context=".OnCheckedChangeListenerActivity"> :"/>>packagepackageimportimportimportimportimportimportimportpublicclassOnCheckedChangeListenerActivityextendsActivity{RadioGrouprg=null;RadioButtonmale=null;RadioButtonfemale=null;TextViewtv=null;protectedvoidonCreate(BundlesavedInstanceState){rg=(RadioGroup)super.findViewById(R.id.rg);male=(RadioButton)super.findViewById(R.id.male);female=(RadioButton)super.findViewById(R.id.female);tv=(TextView)super.findViewById(R.id.tv);{Stringstr=null;}是男是女}}}二十四、Android事件处理——下拉列表框OnItemSelectedListener12015-<?xmlversion="1.0"<?xmlversion="1.0"encoding="utf-<string-array<?xml<?xmlversion="1.0"encoding="utf-<stringname="app_name">下拉列 <string<stringname="o_world">o<stringname="selectPro">请选择省份<stringname="selectCity">请选择城市 tools:context=".SpinnerListenerActivity">android:text="请选择所在省份"/>packageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view. importandroid.view.View;importimportimportimportpublicclassSpinnerListenerActivityextendsActivity{Spinnerprovince,city=null;Strings[][newString[][]{{"南昌","九江","抚州","赣州 ArrayAdapter<CharSequence>array=null;protectedvoidonCreate(BundlesavedInstanceState){vince=(Spinner)super.findViewById(R.vince);this.city=(Spinner)super.findViewById(R.id.city);OnItemSelectedListener()publicvoidonItemSelected(AdapterView<?>arg0,Viewintarg2,longarg3){array=new}publicvoidonNothingSelected(AdapterView<?>arg0)没有这个需求,就什么都不做,但是,由于这是来自接口的方法,所有}}}二十五、Android事件处理——日期与12015- tools:context=".DateAndTimeListenerActivity">>>packageimportimportimportimportimportimportimportpublicclassDateAndTimeListenerActivityextendsActivity{DatePickerdp=null;TimePickertp=null;EditTextedt=null;protectedvoidonCreate(BundlesavedInstanceState){this.dp=(DatePicker)super.findViewById(R.id.dp);this.tp=(TimePicker)super.findViewById(R.id.tp);this.edt=(EditText)super.findViewById(R.id.edt); th(),newOnDateChangedListener(){publicvoidonDateChanged(DatePickerview,intyear,intdayOfMonth){}minute)

}}}publicvoidinitTime(){//此方法用于修改编辑框中的内容Stringinput=null;inputh()+""+this.tp.getCurrentHour()}}二十六、Android事件处理——焦点事12015- tools:context=".OnFocusListenerActivity">packagepackageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importimportimportpublicclassOnFocusListenerActivityextendsActivity{EditTextedt=null;TextViewtv=protectedvoidprotectedvoidonCreate(BundlesavedInstanceState){this.edt=(EditText)super.findViewById(R.id.edt);this.tv=(TextView)super.findViewById(R.id.tv);edt.setOnFocusChangeListener(newOnFocusChangeListener(){publicvoidonFocusChange(Viewv,booleanhasFocus)}}}}二十七、Android事件处理——长按事12015- tools:context=".LongClickActivity">android:text="长 设置桌面背景"packagepackageimportimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importimportpublicclassLongClickActivityextendsActivity{ImageViewimg=null;protectedvoidonCreate(BundlesavedInstanceState){img=(ImageView)super.findViewById(R.id.img);img.setOnLongClickListener(newOnLongClickListener()publicbooleanonLongClick(Viewv)try}catch(IOExceptione)//TODOAuto-generatedcatchblockreturn}}}<?xmlversion="1.0"encoding="utf-<manifestxmlns:android="http://sandroid:versionName="1.0">android:targetSdkVersion="10"/><?xmlversion="1.0"encoding="utf-<manifestxmlns:android="http://sandroid:versionName="1.0">android:targetSdkVersion="10"/>android:theme="@style/AppTheme">android:label="@string/app_name"><action<actionandroid:name="ent.action.MAIN"android:name="ent.category.LAUNCHER"/>清除桌面:publicvoid二十八、Android事件处理——键盘事12015- 验证 tools:context=".OnKeyListenerActivity">packageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view.KeyEvent;importandroid.view.View;importimportimportpublicclassOnKeyListenerActivityextendsActivity{EditTextedt=null;TextViewtv=null;protectedvoidonCreate(BundlesavedInstanceState)edt=(EditText)super.findViewById(R.id.edt);tv=(TextView)super.findViewById(R.id.tv);edt.setOnKeyListener(newOnKeyListener(){publicbooleanonKey(Viewv,intkeyCode,KeyEventevent)//TODOAuto-generatedmethodstub =edt.getText().toString();}}return}}}二十九、Android事件处理——触摸事1234567OnTouchListener本身当然也是Android当中所提供的一个接口对于实际的Android开 packagepackageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view. importimportimportimportpublicclassOnTocuhListenerActivityextendsActivity{TextViewtv=null;protectedvoidonCreate(BundlesavedInstanceState){tv=(TextView)super.findViewById(R.id.tv);tv.setOnTouchListener(newOnTouchListener(){publicbooleanonTouch(Viewv,MotionEventevent)floatx=floaty=event.getY();returnfalse;}}publicpublicboolean()//Inflatethe ;thisaddsitemstotheactionbarifitis return}}packageimportjava.util.ArrayList;importjava.util.Iterator;importpackageimportjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.graphics.Point;importandroid.util.AttributeSet;importandroid.view.MotionEvent;importandroid.view.View;publicclassMyViewextendsViewprivateList<Point>allPoint=newpublicMyView(Contextcontext,AttributeSetattrs)super(context,super.setOnTouchListener(new}protectedvoidonDraw(CanvasPaintp=newPaint();//画线依靠此类,相当于画笔类Iterator<Point>it=MyView.this.allPoint.iterator();Pointfrist=null;Pointlast=frist=it.next();frist=}last=}}}}classOnTouchListenerImplimplementspublicbooleanonTouch(Viewv,MotionEventevent)Pointp=new}elseif(event.getAction()==MotionEvent.ACTION_UP){//如果手}return}}}<?xml<?xmlversion="1.0"encoding="utf- android:orientation=android:orientation="vertical"packagepackageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view. importimportimportimportpublicclassOnTocuhListenerActivityextendsActivity{TextViewtv=null;protectedvoidonCreate(BundlesavedInstanceState){}publicboolean()//Inflatethe ;thisaddsitemstotheactionbarifitis return}}三十、Android基本控件(下)——滚动1234567 > >packageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importpublicclassScrollViewActivityextendsActivityprivateprivateLinearLayoutmylayout=null;privateStringdata[厦门万策智业科技"," 地服务外包人才实训及交流平台 ","厦门万策智业科技 "," 地服务外包人才实训及交流平台 "protectedvoidonCreate(BundlesavedInstanceState){this.mylayout=(LinearLayout)LinearLayout.LayoutParamsparams=for(inti=0;i<data.length;i++){Buttonbut=newButton(this);}}}2ScrollView中只能包含一个组件,而这个组件可以是布局,布局中添加其他多个三十一、Android基本控件(下)——列表12345672、可以使用SimpleAdapterListViewListView的基本操作,在讲置,将数组的内容在ListView中进行显示。·Contextcontext:android·Tobjects android:layout_height="wrap_content"/>packagepackageimportimportimportimportpublicclassListViewActivityextendsActivity ", ","厦门市软件及服务外包人才重点实训基地","服务外包人才实训及交流平台", ","厦门万策智业科技 "," 地服务外包人才实训及交流平台 "privateListViewlistView=privateArrayAdapteradpnull;//protectedvoidonCreate(BundlesavedInstanceState)this.listView=(ListView)super.findViewById(R.id.mylist);this.adp=new}}=此程序是内容设置到ListView=范例 android:orientation="horizontal"> > android:layout_height="wrap_content"/>Activity程序没有完成,我们需要使用SimpleAdapterListViewpackagepackageimportjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.ListView;importpublicclassListViewActivityextendsActivityprivateStringdata[][]={{"001","厦门万策智业科 ""002" "003"厦门市软件园二期"004"东华理工大学"005""DH10项目组"006""Android应用开发"007"卓越工程师"008","双软认定企业"},"009"高科技企业"010"服务外包示范企业privateListViewlistView=privateList<Map<String,String>>list=newArrayList<Map<String,privateSimpleAdaptersimpleAdapter=protectedvoidonCreate(BundlesavedInstanceState){this.listView=(ListView)for(inti=0;i<data.length;i++)Map<String,String>map=newHashMap<String,String>();map.put("num",data[i][0]);map.put("info",data[i][1]);list.add(map);/将Map加入到List集合中}this.simpleAdapter=newSimpleAdapter(this,list,newString[]{"num","info"}} android:orientation="horizontal">>>>列表packageimportpackageimportjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.ListView;importpublicclassListViewActivityextendsActivityprivateListViewlistView=privateList<Map<String,String>>list=newArrayList<Map<String,privateSimpleAdaptersimpleAdapter=null;privateintpic[]=privateStringdata[][]={{"JavaSE"," privateintpicScore[];protectedvoidonCreate(BundlesavedInstanceState){this.listView=(ListView)for(inti=0;i<data.length;i++)Map<String,String>map=newHashMap<String,String>();map.put("score",String.valueOf(picScore[i]));}this.simpleAdapter=newSimpleAdapter(this,list,newString[]{"img","coursename","teacher","info","score"},newint[]{R.id.img,R.id.coursename,R.id.teacher,R.,R.id.score});//准备好了}}ActivityListViewAndroid中,也为开发者packagepackageimportjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importimportimportpublicclassListViewActivityextendsListActivityprivateList<Map<String,String>>list=newArrayList<Map<String,privateSimpleAdaptersimpleAdapter=null;privateintpic[]=privateStringdata[][]={{"JavaSE"," privateintpicScore[];protectedvoidonCreate(BundlesavedInstanceState)for(inti=0;i<data.length;i++)Map<String,String>map=newHashMap<String,map.put("score",String.valueOf(picScore[i]));}this.simpleAdapter=newSimpleAdapter(this,list,newString[]{"img","coursename","teacher","info","score"},newint[]{R.id.img,R.id.coursename,R.id.teacher,R.,R.id.score});//准备好了}}>列表packageimportpackageimportjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importimportimportandroid.widget.ListView;importandroid.widget.SimpleAdapter;importandroid.widget.TextView;publicclassListViewActivityextendsActivityprivateTextViewselectInfo=null;privateListViewlistView=null;privateList<Map<String,String>>list=newprivateSimpleAdaptersimpleAdapter=null;privateintpic[]=privateStringdata[][]= privateintpicScore[];protectedvoidonCreate(BundlesavedInstanceState){this.selectInfo=(TextView)this.listView=(ListView)for(inti=0;i<data.length;i++)Map<String,String>map=newHashMap<String,String>();map.put("score",String.valueOf(picScore[i]));}this.simpleAdapter=newSimpleAdapter(this,list,newString[]{"img","coursename","teacher","info","score"},newint[]{R.id.img,R.id.coursename,R.id.teacher,R.,R.id.score});//准备好了

publicvoidonItemClick(AdapterView<?>parent,Viewview,intlongid){Map<String,StringmapStringteachermap.get("teacher");//称ListViewActivity.this.selectInfo.setText("课程名称coursename+"老师名称:"+teacher);}}}2ListView显示的数据可以使用ArrayAdapterSimpleAdapter三十二、Android基本控件(下)——12345672、可以使用AlertDialog和AlertDialog.Builder进行框的建立3、可以通过LayoutInflater进行定制框的实现Dialog这个组件,那么就必须要写在Activity通过API观察发现,Dialog这个类多个子类,这些子类就是实现的 ·AlertDiglogAlertDialog.BuliderAlert是警告的意思,所以AlertDialog表示的是一种警告框,主要就是弹出一些警AlertDialogDialogDialog所有的(非私有)API可以发现,AlertDialogpropected修饰的,表示此类的构造方法只能就必须要去使用到AlertDialog.BuliderAlertDialog.Bulider这个类的名称就publicclassDialogActivityextendsActivityprivateDialogdialog=null;protectedvoidonCreate(BundlesavedInstanceState){this.dialog=newpublicclassDialogActivityextendsActivityprivateDialogdialog=null;protectedvoidonCreate(BundlesavedInstanceState){this.dialog=newAlertDialog.Builder(this) 框}}publicclassDialogActivityextendsActivityprivateDialogdialog=null;protectedvoidonCreate(BundlesavedInstanceState){this.dialognewAlertDialog.Builder(this).create();//}}是使 packageimportandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.Dialog;importimportimportimportimportpublicclassDialogActivityextendsActivityprivateDialogdialog=null;privateButtonbut=null;protectedvoidonCreate(BundlesavedInstanceState){this.but=(Button)super.findViewById(R.id.but);this.but.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){DialogActivity.this.dialog=new.setPositiveButton("确定{}}).setNeutralButton("查看详情{}}).setNegativeButton("取消{} }}} android:src="@drawable/exit"/>packageimportandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.Dialog;importimportimportimportimportpublicclassDialogActivityextendsActivityprivateDialogdialog=null;privateImageButtonpackageimportandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.Dialog;importimportimportimportimportpublicclassDialogActivityextendsActivityprivateDialogdialog=null;privateImageButtonbut=null;protectedvoidonCreate(BundlesavedInstanceState){this.but=(ImageButton)super.findViewById(R.id.but);this.but.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){DialogActivity.this.dialog=new.setPositiveButton("确定{}}).setNegativeButton("取消{} }}}packageimportandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.Dialog;importimportandroid.os.Bundle;importandroid.view.KeyEvent;importandroid.view.View;importimportpublicclassDialogActivityextendsActivityprivateDialogdialog=null;privateImageButtonbut=null;protectedvoidonCreate(BundlesavedInstanceState)packageimportandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.Dialog;importimportandroid.os.Bundle;importandroid.view.KeyEvent;importandroid.view.View;importimportpublicclassDialogActivityextendsActivityprivateDialogdialog=null;privateImageButtonbut=null;protectedvoidonCreate(BundlesavedInstanceState)this.but=(ImageButton)super.findViewById(R.id.but);this.but.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){ }

@paramkeyCode@parampublicbooleanonKeyDown(intkeyCode,KeyEventevent)if(keyCode==}returnfalse;//} 操publicvoidextiDialog(){DialogActivity.this.dialog=new{publicvoidonClick(DialogInterfacedialog,intwhich)}}).setNegativeButton("取消publicvoidonClick(DialogInterfacedialog,intwhich)} }}·框列 H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论