課程
/移動開發
/Android
/Android攻城獅的第二門課(第1季)
在Fragment中的Tab里想要實現ListView功能,按照視頻一模一樣的操作怎么閃退?????
2016-05-07
源自:Android攻城獅的第二門課(第1季) 2-6
正在回答
<?xml?version="1.0"?encoding="utf-8"?> <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android" ????android:layout_width="match_parent" ????android:layout_height="match_parent" ????android:orientation="horizontal"?> ???????? ????????<ImageView ????????android:id="@+id/pic" ????????android:layout_marginLeft="15dp" ????????android:layout_width="wrap_content" ????????android:layout_height="wrap_content" ????????android:src="@drawable/ic_launcher"?/> ????????<TextView ????????android:id="@+id/text" ????????android:layout_width="wrap_content" ????????android:layout_height="wrap_content" ????????android:textSize="20sp" ????????android:textColor="#000000" ????????android:text="TextView"?/> ???????? ? ???? ???? </LinearLayout>
<LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android" ????xmlns:tools="http://schemas.android.com/tools" ????android:layout_width="match_parent" ????android:layout_height="match_parent" ????android:orientation="vertical"> ???? ????<include?layout="@layout/top"/> ??????? ? ????<android.support.v4.view.ViewPager ???????????? ????????android:id="@+id/id_viewPager" ????????android:layout_width="fill_parent" ????????android:layout_height="0dp" ????????android:layout_weight="1"> ???????? ???????? ???????? ?????<ListView ?????????android:id="@+id/listView1" ?????????android:layout_width="wrap_content" ?????????android:layout_height="match_parent" ????????? ?????????> ????</ListView> ???? ????? ????????????? ?????????????? ????????</android.support.v4.view.ViewPager>? ???????? ?????? ???????? ?????? ???????? ?????????<include?layout="@layout/bottom"/>" ?????? ??????? ??? ???? ?? ??? </LinearLayout>
public?class?MainActivity?extends?FragmentActivity?implements?OnClickListener{ ? ?private?ViewPager?mViewPager; ?private?FragmentPagerAdapter?mAdapter; ?private?List<Fragment>mFragments; ? ?private?LinearLayout?mTabStadium; ?private?LinearLayout?mTabFind; ?private?LinearLayout?mTabMy; ? ?private?ImageButton?mButtonStadium; ?private?ImageButton?mButtonFind; ?private?ImageButton?mButtonMy; ? ?//初始化ListView ???private?ListView?listView; ???//private?ArrayAdapter<String>arr_adapter; ???private?SimpleAdapter?simple_adapter; ???private?List<Map<String,Object>>dataList; ??//?LayoutInflater?inflater?=?getLayoutInflater(); ????? ?/** ??*? ?? ?private?Fragment?mTab1; ?private?Fragment?mTab2; ?private?Fragment?mTab3; ?*/ ?@Override ?protected?void?onCreate(Bundle?savedInstanceState)?{ ??super.onCreate(savedInstanceState); ??requestWindowFeature(Window.FEATURE_NO_TITLE); ??setContentView(R.layout.activity_main); ?? ?? ??listView=(ListView)?findViewById(R.id.listView1); ?? ?//???ListView?listView1?=?(ListView)?(inflater.inflate(R.layout.list,?null)).findViewById(R.id.listView1);? ???????//1.新建一個數據適配器 ???//ArrayAdapter(上下文,當前ListView加載的每一個列表項所對應的布局文件,數據源) ???//SimpleAdapter() ???/** ????*?context:上下文 ????*?data:?數據源,一個Map所組成的List集合 ????*???????每一個Map都會對應ListView列表中的一行 ????*???????每一個Map(鍵-值對)中的鍵必須包含所有在from中所指定的鍵 ????*?resource:列表項中的布局文件ID ????*?from:?Map中的鍵名 ????*?to:?綁定數據視圖中的ID,與from成對應關系 ????*? ????*/ ???//2、適配器加載數據源 ???//String[]arr_data={"場地1","場地2","場地3","場地4"}; ???dataList=new?ArrayList<Map<String,Object>>(); ???//arr_adapter=new?ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arr_data); ???simple_adapter=new?SimpleAdapter(this,?getData(),?R.layout.tab1,?new?String[]{"pic","text"},?new?int[]{R.id.pic,R.id.text}); ???//3.視圖(ListView)加載適配器 ??//?listView.setAdapter(arr_adapter); ???listView.setAdapter(simple_adapter);? ?? ? ??initView(); ??initEvents(); ?? ??setSelect(0); ?} ?private?void?initEvents()?{ ??//?TODO?Auto-generated?method?stub ??mTabStadium.setOnClickListener(this); ??mTabFind.setOnClickListener(this); ??mTabMy.setOnClickListener(this); ?? ?} ?@SuppressWarnings("deprecation") ?private?void?initView()?{ ??//?TODO?Auto-generated?method?stub ??mViewPager=(ViewPager)?findViewById(R.id.id_viewPager); ?? ??mTabStadium=(LinearLayout)?findViewById(R.id.id_tab_stadium); ??mTabFind=(LinearLayout)?findViewById(R.id.id_tab_find); ??mTabMy=(LinearLayout)?findViewById(R.id.id_tab_my); ?? ??mButtonStadium=(ImageButton)?findViewById(R.id.imagebutton_stadium); ??mButtonFind=(ImageButton)?findViewById(R.id.imagebutton_find); ??mButtonMy=(ImageButton)?findViewById(R.id.imagebutton_my); ?? ??mFragments=new?ArrayList<Fragment>(); ??Fragment?mTab1=new?StadiumFragment(); ??Fragment?mTab2=new?FindFragment(); ??Fragment?mTab3=new?MyFragment(); ?? ??mFragments.add(mTab1); ??mFragments.add(mTab2); ??mFragments.add(mTab3); ?? ??mAdapter=new?FragmentPagerAdapter(getSupportFragmentManager())?{ ??? ???@Override ???public?int?getCount()?{ ????//?TODO?Auto-generated?method?stub ????return?mFragments.size(); ???} ??? ???@Override ???public?Fragment?getItem(int?arg0)?{ ????//?TODO?Auto-generated?method?stub ????return?mFragments.get(arg0); ???} ??}; ??mViewPager.setAdapter(mAdapter); ?? ?? ?? ????mViewPager.setOnPageChangeListener(new?OnPageChangeListener() ??? ??{ ??? ???@Override ???public?void?onPageSelected(int?arg0) ???{ ????int?currentItem?=?mViewPager.getCurrentItem(); ????setTab(currentItem); ???} ??? ???@Override ???public?void?onPageScrolled(int?arg0,?float?arg1,?int?arg2) ???{ ????//?TODO?Auto-generated?method?stub ???? ???} ??? ???@Override ???public?void?onPageScrollStateChanged(int?arg0) ???{ ????//?TODO?Auto-generated?method?stub ???? ???} ??}); ???? ???? ??} ?@Override ?public?void?onClick(View?v)?{ ??//?TODO?Auto-generated?method?stub ??switch?(v.getId())?{ ??case?R.id.id_tab_stadium: ???setSelect(0); ???break; ????????case?R.id.id_tab_find: ?????????setSelect(1); ???break; ????????case?R.id.id_tab_my: ?????????setSelect(2); ?????break; ??default: ???break; ??} ?? ?? ?} ?private?void?setSelect(int?i)?{ ?? ??//切換內容區域 ??setTab(i); ??mViewPager.setCurrentItem(i); ?? ?} ? ?private?void?setTab(int?i) ?{ ??resetImgs(); ??//?設置圖片為亮色 ??//?切換內容區域 ??switch?(i) ??{ ??case?0: ???mButtonStadium.setImageResource(R.drawable.tab_stadium_pressed); ???break; ??case?1: ???mButtonFind.setImageResource(R.drawable.tab_find_pressed); ???break; ??case?2: ???mButtonMy.setImageResource(R.drawable.tab_my_pressed); ???break; ?? ??} ?} ?/** ??*?切換圖片至暗色 ??*/ ?private?void?resetImgs() ?{ ??mButtonStadium.setImageResource(R.drawable.tab_stadium_normal); ??mButtonFind.setImageResource(R.drawable.tab_find_normal); ??mButtonMy.setImageResource(R.drawable.tab_my_normal); ?} ? ?//ListView: ? ???private?List<Map<String,Object>>?getData(){ ???? ????for(int?i=0;i<=20;i++){ ????? ?????Map<String,Object>map=new?HashMap<String,Object>(); ?????map.put("pic",?R.drawable.ic_launcher); ?????map.put("text",?"慕課網"+i); ?????dataList.add(map); ????? ????} ???? ????return?dataList; ???? ???} ? }
同學麻煩你貼出報錯和代碼瞧瞧啊.多看報錯信息
可能視圖沒有加載對,
舉報
本課程由淺入深地帶您學會Android的常用控件的開發和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-05-08
2016-05-08
2016-05-08
2016-05-08
同學麻煩你貼出報錯和代碼瞧瞧啊.多看報錯信息
2016-05-08
可能視圖沒有加載對,