ViewPager+RadioGroup+Fragment超高仿,可通過左右滑動或點擊底部RadioButton切換Fragment,廢話不多說,上源碼。
下載源碼地址:http://download.csdn.net/detail/shenyuanqing/8847959.
首先主視圖
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bwie.mm.MainActivity">
<ListView
android:id="@+id/listview"
android:layout_width="200sp"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:layout_gravity="start"
android:divider="#fff"
android:dividerHeight="1dp"
android:background="#87CEFF"
></ListView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
/>
<RadioGroup
android:id="@+id/rg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_weight="9.5"
>
<RadioButton
android:id="@+id/but1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="首頁"
android:gravity="center"
android:button="@null"
android:layout_weight="1"
android:background="@drawable/selector_color"
android:checked="true"
android:padding="10dp"
/>
<RadioButton
android:id="@+id/but2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="行情"
android:gravity="center"
android:button="@null"
android:layout_weight="1"
android:background="@drawable/selector_color"
android:padding="10dp"
/>
<RadioButton
android:id="@+id/but3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="資訊"
android:gravity="center"
android:button="@null"
android:layout_weight="1"
android:background="@drawable/selector_color"
android:padding="10dp"
/>
<RadioButton
android:id="@+id/but4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="簡介"
android:gravity="center"
android:button="@null"
android:layout_weight="1"
android:background="@drawable/selector_color"
android:padding="10dp"
/>
</RadioGroup>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
以及主方法
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.RadioGroup;
import com.bwie.adapter.CeLaAdapter;
import com.bwie.beans.CeLa;
import com.bwie.fragment.Fragment1;
import com.bwie.fragment.Fragment2;
import com.bwie.fragment.Fragment3;
import com.bwie.fragment.Fragment4;
import java.util.ArrayList;
import java.util.List;
/**
* Viewpager和Fragment連用
*
*/
public class MainActivity extends FragmentActivity {
private DrawerLayout drawerLayout;//側拉
private ListView listView;//展示
private List<CeLa> list;
private ViewPager viewPager;
private RadioGroup radioGroup;
private List<Fragment> flist;
private Fragment1 fragment1;
private Fragment2 fragment2;
private Fragment3 fragment3;
private Fragment4 fragment4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//獲取資源ID
listView=(ListView) findViewById(R.id.listview);
drawerLayout=(DrawerLayout) findViewById(R.id.activity_main);
viewPager=(ViewPager) findViewById(R.id.viewpager);
radioGroup=(RadioGroup) findViewById(R.id.rg);
//側垃集合
list=new ArrayList<CeLa>();
//添加信息
list.add(new CeLa("客服熱線",R.mipmap.ic_launcher));
list.add(new CeLa("營業部網點",R.mipmap.ic_launcher));
list.add(new CeLa("系統設置",R.mipmap.ic_launcher));
list.add(new CeLa("換膚",R.mipmap.ic_launcher));
//關聯適配器,展示側拉
CeLaAdapter adapter=new CeLaAdapter(list,MainActivity.this);
listView.setAdapter(adapter);
//點擊條目關閉側拉
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
drawerLayout.closeDrawer(listView);
}
});
fragment1=new Fragment1();
fragment2=new Fragment2();
fragment3=new Fragment3();
fragment4=new Fragment4();
//添加fragment
flist=new ArrayList<>();
flist.add(fragment1);
flist.add(fragment2);
flist.add(fragment3);
flist.add(fragment4);
//適配器
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return flist.get(position);
}
@Override
public int getCount() {
return flist.size();
}
});
//viewpager監聽事件
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
//聯動
switch (position){
case 0:
radioGroup.check(R.id.but1);
break;
case 1:
radioGroup.check(R.id.but2);
break;
case 2:
radioGroup.check(R.id.but3);
break;
case 3:
radioGroup.check(R.id.but4);
break;
default:
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
//radioGroup監聽事件
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
//聯動
switch (i){
case R.id.but1:
viewPager.setCurrentItem(0);
break;
case R.id.but2:
viewPager.setCurrentItem(1);
break;
case R.id.but3:
viewPager.setCurrentItem(2);
break;
case R.id.but4:
viewPager.setCurrentItem(3);
break;
default:
break;
}
}
});
}
}
//展示數據的類
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.bwie.adapter.PullAdapter;
import com.bwie.beans.User;
import com.bwie.cuidongtao1509a20170922.R;
import com.bwie.utils.NetWorksUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.List;
/**展示數據
* Created by 1 on 2017/9/22.
*
*/
public class ChannelFragment extends Fragment{
private String name;
private String new_url;
private List<User.NewslistBean> data;
private PullAdapter adapter;
private PullToRefreshListView plistview;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//接收數據
Bundle bundle=getArguments();
name=(String) bundle.get("ch");
new_url=(String) bundle.get("url");
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.cf,null);
//獲取資源ID
plistview=(PullToRefreshListView) view.findViewById(R.id.pull_refresh_list);
PullToRefreshData();
//下拉刷新
plistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView) {
PullToRefreshData();
}
});
//上拉加載
plistview.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
@Override
public void onLastItemVisible() {
LoadMoreData();
}
});
return view;
}
//刷新
public void PullToRefreshData(){
//異步解析
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
//下拉刷新時頁數設置爲1
String str=new NetWorksUtils().getJsonJieXi(new_url+"1");
return str;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
User user = gson.fromJson(s, User.class);
data = user.getNewslist();
//關聯適配器
adapter=new PullAdapter(data,getActivity());
//加載適配器
plistview.setAdapter(adapter);
//停止刷新
plistview.onRefreshComplete();
}
}.execute(new_url);
}
//加載
public void LoadMoreData(){
//異步
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
//上拉加載更多時頁數加1,
String str=new NetWorksUtils().getJsonJieXi(new_url+"1");
return str;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
User user = gson.fromJson(s, User.class);
List<User.NewslistBean> data2 = user.getNewslist();
//加載
data.addAll(data2);
//刷新適配器
adapter.notifyDataSetChanged();
}
}.execute(new_url);
}
}
//channelFeagemtn
package com.bwie.fragment;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.bwie.adapter.PullAdapter;
import com.bwie.beans.User;
import com.bwie.cuidongtao1509a20170922.R;
import com.bwie.utils.NetWorksUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.List;
/**展示數據
* Created by 1 on 2017/9/22.
*崔冬濤
*/
public class ChannelFragment extends Fragment{
private String name;
private String new_url;
private List<User.NewslistBean> data;
private PullAdapter adapter;
private PullToRefreshListView plistview;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//接收數據
Bundle bundle=getArguments();
name=(String) bundle.get("ch");
new_url=(String) bundle.get("url");
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.cf,null);
//獲取資源ID
plistview=(PullToRefreshListView) view.findViewById(R.id.pull_refresh_list);
PullToRefreshData();
//下拉刷新
plistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView) {
PullToRefreshData();
}
});
//上拉加載
plistview.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
@Override
public void onLastItemVisible() {
LoadMoreData();
}
});
return view;
}
//刷新
public void PullToRefreshData(){
//異步解析
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
//下拉刷新時頁數設置爲1
String str=new NetWorksUtils().getJsonJieXi(new_url+"1");
return str;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
User user = gson.fromJson(s, User.class);
data = user.getNewslist();
//關聯適配器
adapter=new PullAdapter(data,getActivity());
//加載適配器
plistview.setAdapter(adapter);
//停止刷新
plistview.onRefreshComplete();
}
}.execute(new_url);
}
//加載
public void LoadMoreData(){
//異步
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
//上拉加載更多時頁數加1,
String str=new NetWorksUtils().getJsonJieXi(new_url+"1");
return str;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
User user = gson.fromJson(s, User.class);
List<User.NewslistBean> data2 = user.getNewslist();
//加載
data.addAll(data2);
//刷新適配器
adapter.notifyDataSetChanged();
}
}.execute(new_url);
}
}
第一個fragment的類
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.R;
import java.util.ArrayList;
import java.util.List;
/**主頁面
* 2017/9/22.
*
*/
public class Fragment1 extends Fragment{
private TabLayout tabLayout;
private ViewPager viewPager;
private String channl[]={"數據新聞","快訊","頭條","精編公告","美股","港股","基金","理財"};
private String urlS[]={
"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10",
"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"
};
private LayoutInflater mInflater;
private List<ChannelFragment> mViewList = new ArrayList<>();//頁卡視圖集合
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragment1,null);
//獲取資源ID
mInflater=LayoutInflater.from(getActivity());
tabLayout=(TabLayout) view.findViewById(R.id.tabs);
viewPager=(ViewPager) view.findViewById(R.id.vp_view);
//傳數據
for (int i=0;i<channl.length;i++){
//實例化
ChannelFragment channelFragment=new ChannelFragment();
//傳值
Bundle bundle=new Bundle();
bundle.putString("ch",channl[i]);
bundle.putString("url",urlS[i]);
channelFragment.setArguments(bundle);
//添加
mViewList.add(channelFragment);
//添加標題
tabLayout.addTab(tabLayout.newTab().setText(channl[i]));
}
FragmentManager manager=getActivity().getSupportFragmentManager();
//關聯適配器
MyFragmentPagerAdapter fragmentPagerAdapter=new MyFragmentPagerAdapter(manager,mViewList);
viewPager.setAdapter(fragmentPagerAdapter);
//將tabLayout,與viewPager關聯起來
tabLayout.setupWithViewPager(viewPager);
return view;
}
//適配器
class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private List<ChannelFragment> mViewList;
public MyFragmentPagerAdapter(FragmentManager fm, List<ChannelFragment> mViewList) {
super(fm);
this.mViewList = mViewList;
}
@Override
public Fragment getItem(int position) {
return mViewList.get(position);
}
@Override
public int getCount() {
return mViewList.size();
}
@Override
public CharSequence getPageTitle(int position) {
return channl[position];//頁卡標題
}
}
}
//封裝的jiavabean
import java.util.List;
/**Bean類
* Created by 1 on 2017/9/22.
*
*/
public class User {
private int code;
private String msg;
private List<NewslistBean> newslist;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public List<NewslistBean> getNewslist() {
return newslist;
}
public void setNewslist(List<NewslistBean> newslist) {
this.newslist = newslist;
}
public static class NewslistBean {
private String ctime;
private String description;
private String picUrl;
private String title;
private String url;
public String getCtime() {
return ctime;
}
public void setCtime(String ctime) {
this.ctime = ctime;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getPicUrl() {
return picUrl;
}
public void setPicUrl(String picUrl) {
this.picUrl = picUrl;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}
//側拉的javabean
/**側拉
* Created by 1 on 2017/9/22.
*
*/
public class CeLa {
private String name;
private int image;
public CeLa(String name, int image) {
this.name = name;
this.image = image;
}
public CeLa() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getImage() {
return image;
}
public void setImage(int image) {
this.image = image;
}
@Override
public String toString() {
return "CeLa{" +
"name='" + name + '\'' +
", image=" + image +
'}';
}
}
//Imageloder的類
package
import android.app.Application;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
/**圖片加載
* Created by 1 on 2017/9/22.
*
*/
public class MyApp extends Application{
@Override
public void onCreate() {
super.onCreate();
//通過ImageLoader加載試圖
ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this);
ImageLoader.getInstance().init(configuration);
}
}
//加載網絡的類
package com.utils;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**工具類解析
* Created by 1 on 2017/9/22.
*
*/
public class NetWorksUtils {
public String getJsonJieXi(String jsonStr){
URL url=null;
HttpURLConnection httpURLConnection=null;
String JsonUrl="";
try {
//得到網絡數據
url=new URL(jsonStr);
httpURLConnection=(HttpURLConnection) url.openConnection();
httpURLConnection.setConnectTimeout(5000);
httpURLConnection.setReadTimeout(5000);
//獲取響應碼
int responseCode = httpURLConnection.getResponseCode();
if (responseCode==200){
InputStream inputStream = httpURLConnection.getInputStream();
byte[] bytes = new byte[1024];
int len=0;
while ((len=inputStream.read(bytes))!=-1){
//解析
JsonUrl +=new String(bytes,0,len);
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//返回解析內容
return JsonUrl;
}
}
//fragment1的視圖
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabIndicatorColor="@color/colorPrimary"
app:tabMode="scrollable"
app:tabSelectedTextColor="@color/colorPrimary"
app:tabTextColor="@color/black"/>
<android.support.v4.view.ViewPager
android:id="@+id/vp_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
//item1的視圖
<?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"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
/>
</LinearLayout>
</LinearLayout>
//item2的視圖
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image2"
android:layout_width="60dp"
android:layout_height="60dp" />
<TextView
android:id="@+id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
//putofresh的視圖
上拉加載下拉刷新
<?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">
<com.handmark.pulltorefresh.library.PullToRefreshListView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/pull_refresh_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#000000"
android:divider="#19000000"
android:dividerHeight="4dp"
android:fadingEdge="none"
android:fastScrollEnabled="false"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"
android:smoothScrollbar="true"
ptr:ptrAnimationStyle="rotate"
ptr:ptrHeaderTextColor="#ffffff"
ptr:ptrHeaderSubTextColor="#00ffff"
ptr:ptrHeaderBackground="@null"
ptr:ptrDrawable="@mipmap/ic_launcher"/>
</LinearLayout>
//兩個主要的適配器
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bwie.beans.CeLa;
import com.bwie.R;
import java.util.List;
/**側拉適配器
* Created by 1 on 2017/9/22.
*
*/
public class CeLaAdapter extends BaseAdapter{
private List<CeLa> list;
private Context context;
public CeLaAdapter(List<CeLa> 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) {
//加載視圖
view=View.inflate(context, R.layout.item,null);
//獲取資源id
ImageView imageView=(ImageView) view.findViewById(R.id.image);
TextView textView=(TextView) view.findViewById(R.id.text);
//展示試圖
imageView.setImageResource(list.get(i).getImage());
textView.setText(list.get(i).getName());
return view;
}
}
//刷新的適配器
package com.bwie.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bwie.beans.User;
import com.bwie.cuidongtao1509a20170922.R;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
/**上拉下拉適配器
* Created by 1 on 2017/9/22.
*
*/
public class PullAdapter extends BaseAdapter{
private List<User.NewslistBean> list;
private Context context;
public PullAdapter(List<User.NewslistBean> 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) {
//進行優化
ViewHolder viewHolder;
if(view==null){
//實例化內部類
viewHolder=new ViewHolder();
//加載試圖
view=View.inflate(context, R.layout.item2,null);
//獲取資源ID
viewHolder.imageView=(ImageView) view.findViewById(R.id.image2);
viewHolder.textView=(TextView) view.findViewById(R.id.text2);
view.setTag(viewHolder);
}else{
viewHolder=(ViewHolder) view.getTag();
}
//ImageLoader展示試圖,展示內容
ImageLoader.getInstance().displayImage(list.get(i).getPicUrl(),viewHolder.imageView);
viewHolder.textView.setText(list.get(i).getTitle());
return view;
}
//內部類
class ViewHolder{
ImageView imageView;
TextView textView;
}
}