打開后一片空白,檢查好多遍
先是Bean中的
package?com.tong; public?class?Bean?{ private?String?view_title; ????private?String?view_content; ????private??String?view_time; ????private?String?view_phone; ????public?Bean()?{ } public?Bean(String?view_title,?String?view_content,?String?view_time, String?view_phone)?{ super(); this.view_title?=?view_title; this.view_content?=?view_content; this.view_time?=?view_time; this.view_phone?=?view_phone; } public?String?getView_title()?{ return?view_title; } public?void?setView_title(String?view_title)?{ this.view_title?=?view_title; } public?String?getView_content()?{ return?view_content; } public?void?setView_content(String?view_content)?{ this.view_content?=?view_content; } public?String?getView_time()?{ return?view_time; } public?void?setView_time(String?view_time)?{ this.view_time?=?view_time; } public?String?getView_phone()?{ return?view_phone; } public?void?setView_phone(String?view_phone)?{ this.view_phone?=?view_phone; } }
2.MainActivity中的’
package?com.example.baseadapter; import?java.util.ArrayList; import?java.util.List; import?android.app.Activity; import?android.os.Bundle; import?android.widget.ListView; import?com.tong.Bean; public?class?MainActivity?extends?Activity?{ ????private?ListView?mlists; ????private?List<Bean>mdatas; ????private??MyAdapter?myAdapter; ????@Override ????protected?void?onCreate(Bundle?savedInstanceState)?{ ????????super.onCreate(savedInstanceState); ????????setContentView(R.layout.activity_main); ????????mlists=(ListView)findViewById(R.id.listview); ????????mlists.setAdapter(myAdapter); ????????initData(); ????????} ????private?void?initData()?{ //在該方法中初始化定義在Bean中的數(shù)據(jù),先初始化List<Bean>中的mDatas ????????mdatas=new?ArrayList<Bean>(); ????????Bean?bean=new?Bean("Android的使用技巧1","Android打造萬能適配器來打造ListView和GridView", ????????????????"2016-08-27","10086"); ????????mdatas.add(bean); ????????//用這兩行代碼加載數(shù)據(jù),后面的bean不用重復(fù)定義 ?????????bean=new?Bean("Android的使用技巧2","Android打造萬能適配器來打造ListView和GridView", ????????????????"2016-08-27","10086"); ????????mdatas.add(bean); ?????????bean=new?Bean("Android的使用技巧3","Android打造萬能適配器來打造ListView和GridView", ????????????????"2016-08-27","10086"); ????????mdatas.add(bean); ?????????bean=new?Bean("Android的使用技巧4","Android打造萬能適配器來打造ListView和GridView", ????????????????"2016-08-27","10086"); ????????mdatas.add(bean); //初始化這些數(shù)據(jù)之后就需要新建一個適配器MyAdapter ????????//數(shù)據(jù)傳入后,加載適配器,需要傳入兩個參數(shù),第一個Activity,第二個是mdatas ????????myAdapter=new?MyAdapter(this,mdatas);//然后在listview中加載該適配器 ????} }
3.MyAdapter中的
package?com.example.baseadapter; import?java.util.List; import?android.content.Context; import?android.view.LayoutInflater; import?android.view.View; import?android.view.ViewGroup; import?android.widget.BaseAdapter; import?android.widget.TextView; import?com.tong.Bean; public?class?MyAdapter?extends?BaseAdapter{ private?LayoutInflater?inflater; ????private?List<Bean>?mdatas; ????//聲明這個構(gòu)造方法Context用于加載我們的布局文件 ????public?MyAdapter(Context?context,?List<Bean>datas){ ????????inflater=LayoutInflater.from(context); ????????mdatas=datas;//獲取到的數(shù)據(jù)集用于編寫下面的屬性 ????} ????@Override ????public?int?getCount()?{ ????????return?mdatas.size(); ????} ????@Override ????public?Object?getItem(int?i)?{ ????????return?mdatas.get(i); ????} ????@Override ????public?long?getItemId(int?i)?{ ????????return?i; ????} ????@Override ????public?View?getView(int?i,?View?view,?ViewGroup?viewGroup)?{ ????????ViewHolder?viewHolder=null;//聲明一個ViewHolder ????????if(view==null){ ????????????//判斷是否已經(jīng)加載,加載定義的布局 ????????????view=inflater.inflate(R.layout.listview_data,viewGroup,false); ????????????viewHolder=new?ViewHolder(); ????????????viewHolder.mtitle=?(TextView)?view.findViewById(R.id.textview1); ????????????viewHolder.mcontent=?(TextView)?view.findViewById(R.id.textview2); ????????????viewHolder.mtime=?(TextView)?view.findViewById(R.id.textview3); ????????????viewHolder.mphone=?(TextView)?view.findViewById(R.id.textview4); ?????????????view.setTag(viewHolder); ????????}else?{ ????????????viewHolder=?(ViewHolder)?view.getTag(); ????????} ????????Bean?bean=mdatas.get(i);//定義Bean用來獲取當(dāng)前顯示的數(shù)據(jù) ????????viewHolder.mtitle.setText(bean.getView_title()); ????????viewHolder.mcontent.setText(bean.getView_content()); ????????viewHolder.mtime.setText(bean.getView_time()); ????????viewHolder.mphone.setText(bean.getView_phone()); ????????return?view; ????????//這步完成之后去MainActivity.java文件中加載MyAdapter,先新建一個MyAdapter型的變量 ????} ????//定義一個ViewHolder類用于存放數(shù)據(jù)類型及性能優(yōu)化 ????private?class?ViewHolder{ ????????TextView?mtitle; ????????TextView?mcontent; ????????TextView?mtime; ????????TextView?mphone; ????} }
2016-08-28
這兩行代碼的位置顛倒了。應(yīng)該先initData(),再給listview設(shè)置適配器,像你這樣寫的話,myAdapter此時為null,所以甚么都不會顯示。
2016-08-27
布局文件activity_main
布局文件listview_data