課程
/移動(dòng)開發(fā)
/Android
/Android攻城獅的第二門課(第1季)
在Fragment中的Tab里想要實(shí)現(xiàn)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.新建一個(gè)數(shù)據(jù)適配器 ???//ArrayAdapter(上下文,當(dāng)前ListView加載的每一個(gè)列表項(xiàng)所對(duì)應(yīng)的布局文件,數(shù)據(jù)源) ???//SimpleAdapter() ???/** ????*?context:上下文 ????*?data:?數(shù)據(jù)源,一個(gè)Map所組成的List集合 ????*???????每一個(gè)Map都會(huì)對(duì)應(yīng)ListView列表中的一行 ????*???????每一個(gè)Map(鍵-值對(duì))中的鍵必須包含所有在from中所指定的鍵 ????*?resource:列表項(xiàng)中的布局文件ID ????*?from:?Map中的鍵名 ????*?to:?綁定數(shù)據(jù)視圖中的ID,與from成對(duì)應(yīng)關(guān)系 ????*? ????*/ ???//2、適配器加載數(shù)據(jù)源 ???//String[]arr_data={"場(chǎng)地1","場(chǎng)地2","場(chǎng)地3","場(chǎng)地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)?{ ?? ??//切換內(nèi)容區(qū)域 ??setTab(i); ??mViewPager.setCurrentItem(i); ?? ?} ? ?private?void?setTab(int?i) ?{ ??resetImgs(); ??//?設(shè)置圖片為亮色 ??//?切換內(nèi)容區(qū)域 ??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",?"慕課網(wǎng)"+i); ?????dataList.add(map); ????? ????} ???? ????return?dataList; ???? ???} ? }
同學(xué)麻煩你貼出報(bào)錯(cuò)和代碼瞧瞧啊.多看報(bào)錯(cuò)信息
可能視圖沒(méi)有加載對(duì),
舉報(bào)
本課程由淺入深地帶您學(xué)會(huì)Android的常用控件的開發(fā)和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-05-08
2016-05-08
2016-05-08
2016-05-08
同學(xué)麻煩你貼出報(bào)錯(cuò)和代碼瞧瞧啊.多看報(bào)錯(cuò)信息
2016-05-08
可能視圖沒(méi)有加載對(duì),