課程
/移動開發
/Android
/Android攻城獅的第二門課(第1季)
是 新建一個類讓它去實現ListView要做的就行了,然后再將布局文件顯示是這個View就可以了???
求教,謝謝!!
2016-08-25
源自:Android攻城獅的第二門課(第1季) 10-3
正在回答
今天剛剛回答了這個問題。??梢灾苯影裿iew當作布局view里面包含listview,更簡單粗暴的是直接往viewpager里加listview;
上思路:xml文件里只有一個viewpager ?--> ?繼承pageradapter重寫相應方法 --> ?將listview初始化 ? --> ?將listview作為viewpager的初始化參數加入進去 -->搞定
愛3 提問者
iMcLaren 回復 愛3 提問者
愛3 提問者 回復 iMcLaren
import?android.app.Activity; import?android.content.Context; import?android.os.Bundle; import?android.support.v4.view.PagerAdapter; import?android.support.v4.view.ViewPager; import?android.util.Log; import?android.view.View; import?android.view.ViewGroup; import?android.widget.BaseAdapter; import?android.widget.ListView; import?android.widget.TextView; import?java.util.ArrayList; import?java.util.List; import?hison.myapplication.R; import?hison.myapplication.vp_adapter.MoocQuestionAdapter; import?hison.myapplication.vp_adapter.MyViewPagerAdapter; import?hison.myapplication.vp_adapter.QuestionAdapter; /** ?*?Created?by?Administrator?on?8-24-0024. ?*/ public?class?MoocQuestionActivity?extends?Activity?{ ????private?Context?context; ????private?ViewPager?viewPager; ????private?MyListAdapter?listviewAdapter; ????private?MyPagerAdapter?pageAdapter; ????private?List<String>?list; ????private?List<ListView>?list_listview; ????@Override ????protected?void?onCreate(Bundle?savedInstanceState)?{ ????????super.onCreate(savedInstanceState); ????????setContentView(R.layout.question_activity); ????????init(); ????} ????private?void?init(){ ????????context?=?this; ????????viewPager?=?(ViewPager)?findViewById(R.id.vp_question); ????????list?=?new?ArrayList<>(); ????????int?i?=0; ????????while(i?<?10){ ????????????list.add("item"+i); ????????????i++; ????????} ????????//viewpager里有兩個頁面,這是第一個頁面的listview ????????ListView?listView?=?new?ListView(this); ????????listviewAdapter?=?new?MyListAdapter(list,context); ????????listView.setAdapter(listviewAdapter); ????????//第二個頁面的listview ????????ListView?listView1?=?new?ListView(this); ????????listView1.setAdapter(listviewAdapter); ????????//初始化list<ListView>?把上面的listview添加進去,作為pageAdapter的參數 ????????list_listview?=?new?ArrayList<>(); ????????list_listview.add(listView); ????????list_listview.add(listView1); ????????//pageAdapter適配器 ????????pageAdapter?=?new?MyPagerAdapter(list_listview); ????????viewPager.setAdapter(pageAdapter); ????} } //viewpage的適配器 class?MyPagerAdapter?extends?PagerAdapter?{ ????private?List<ListView>?listViews; ????public?MyPagerAdapter(List<ListView>?listViews)?{ ????????this.listViews?=?listViews; ????} ????@Override ????public?int?getCount()?{ ????????return?listViews.size(); ????} ????@Override ????public?boolean?isViewFromObject(View?view,?Object?object)?{ ????????return?view?==?object; ????} ????@Override ????public?Object?instantiateItem(ViewGroup?container,?int?position)?{ ????????//?TODO?Auto-generated?method?stub ????????container.addView(listViews.get(position)); ????????return?listViews.get(position); ????} } //listview的適配器 class?MyListAdapter?extends?BaseAdapter?{ ????private?List<String>?list; ????private?Context?context; ????public?MyListAdapter(List<String>?list,?Context?context){ ????????this.list?=?list; ????????this.context?=?context; ????} ????@Override ????public?int?getCount()?{ ????????return?list.size(); ????} ????@Override ????public?Object?getItem(int?i)?{ ????????return?list.get(i); ????} ????@Override ????public?long?getItemId(int?i)?{ ????????return?i; ????} ????@Override ????public?View?getView(int?i,?View?view,?ViewGroup?viewGroup)?{ ????????if(view==null){ ????????????ViewHolder?viewHolder?=?new?ViewHolder(); ????????????view?=?View.inflate(context,?R.layout.item_question,null); ????????????viewHolder.textView?=?(TextView)?view.findViewById(R.id.tv_question); ????????????viewHolder.textView.setText(list.get(i)); ????????????view.setTag(viewHolder); ????????}else{ ????????????ViewHolder?viewHolder?=?(ViewHolder)?view.getTag(); ????????????viewHolder.textView.setText(list.get(i)); ????????} ????????return?view; ????} ????class?ViewHolder{ ????????TextView?textView; ????} } xml文件 <?xml?version="1.0"?encoding="utf-8"?> <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android" ????android:orientation="vertical"?android:layout_width="match_parent" ????android:layout_height="match_parent"> ????<android.support.v4.view.ViewPager ????????android:layout_width="match_parent" ????????android:layout_height="match_parent" ????????android:id="@+id/vp_question"> ????</android.support.v4.view.ViewPager> </LinearLayout>
舉報
本課程由淺入深地帶您學會Android的常用控件的開發和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-25
今天剛剛回答了這個問題。??梢灾苯影裿iew當作布局view里面包含listview,更簡單粗暴的是直接往viewpager里加listview;
上思路:xml文件里只有一個viewpager ?--> ?繼承pageradapter重寫相應方法 --> ?將listview初始化 ? --> ?將listview作為viewpager的初始化參數加入進去 -->搞定
2016-08-25