Android ListView 條目多樣式展示實例詳解
更新時間:2017年04月08日 08:44:41 作者:青春無悔-新歌
這篇文章主要介紹了Android ListView 條目多樣式展示的相關(guān)資料,需要的朋友可以參考下
ListView的多種樣式條目展示
- 這里給大家介紹一下簡單的ListView的多種樣式展示
- 在布局文件中和往常一樣寫一個ListViwe的布局
<ListView android:id="@+id/main_listview" android:layout_width="wrap_content" android:layout_height="wrap_content" />
其他的這里就不多說了,直接介紹適配器里的操作
package com.bwei.test.BaseAdapter; import java.util.List; import com.bwei.test.R; import com.bwei.test.bean.News; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import android.R.color; import android.R.layout; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class MyBaseAdapter extends BaseAdapter { private Context context; private List<News> newlist; //ImageLoader private DisplayImageOptions Options; //定義樣式常量,注意常量值要從0開始 private static final int TYPE_LISTVIEW_NORMAL = 0; private static final int TYPE_LISTVIEW_NO_PIC = 1; public MyBaseAdapter(Context context, List<News> newlist, DisplayImageOptions options) { super(); this.context = context; this.newlist = newlist; Options = options; } @Override public int getCount() { //ListView的總共條數(shù) return newlist.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } /* * 注意我們要填充的布局個數(shù)和我們要展示的樣式個數(shù)一樣 * 最好一個樣式一個填充布局 * * */ @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub // 獲取當前條目的類型 int itemViewType = getItemViewType(position); ViewHolder viewHolder; if (convertView==null) { viewHolder=new ViewHolder(); switch (itemViewType) { case TYPE_LISTVIEW_NORMAL: convertView=LayoutInflater.from(context).inflate(R.layout.title_pic, null); viewHolder.imageView=(ImageView) convertView.findViewById(R.id.imageView1); ImageLoader.getInstance().displayImage(newlist.get(position).getImgs(), viewHolder.imageView,Options); convertView.setTag(viewHolder); break; case TYPE_LISTVIEW_NO_PIC: convertView=LayoutInflater.from(context).inflate(R.layout.title, null); convertView.setTag(viewHolder); break; default: break; } viewHolder.textcopyright=(TextView) convertView.findViewById(R.id.copyright); viewHolder.texttime=(TextView) convertView.findViewById(R.id.data); viewHolder.texttitle=(TextView) convertView.findViewById(R.id.title); viewHolder.texttitle.setText( newlist.get(position).getTitle()); viewHolder.texttime.setText( newlist.get(position).getPubDate()); viewHolder.textcopyright.setText( newlist.get(position).getCopyright()); } else { viewHolder=(ViewHolder) convertView.getTag(); switch (itemViewType) { case TYPE_LISTVIEW_NORMAL: ImageLoader.getInstance().displayImage( newlist.get(position).getImgs(), viewHolder.imageView,Options); break; case TYPE_LISTVIEW_NO_PIC: break; default: break; } viewHolder.texttitle.setText( newlist.get(position).getTitle()); viewHolder.texttime.setText( newlist.get(position).getPubDate()); viewHolder.textcopyright.setText( newlist.get(position).getCopyright()); } return convertView; } /** * 獲取具體的某個索引值下的條目的條目類型 */ @Override public int getItemViewType(int position) { // TODO Auto-generated method stub //判斷以什么結(jié)束的屬性 if ( newlist.get(position).getImgs().endsWith(".jpg")) { return TYPE_LISTVIEW_NORMAL; } return TYPE_LISTVIEW_NO_PIC; } /** * 獲取listView條目類別的個數(shù)(樣式) */ @Override public int getViewTypeCount() { // TODO Auto-generated method stub return 2; } //容器 class ViewHolder{ ImageView imageView; TextView texttitle,textcopyright,texttime; } }
以上是多條目樣式展示的一種
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:
- Android RecyclerView實現(xiàn)點擊條目刪除
- Android自定義SwipeLayout仿QQ側(cè)滑條目
- Android仿京東分類模塊左側(cè)分類條目效果
- Android更多條目收縮展開控件ExpandView的示例代碼
- Android ListView自動生成列表條目的實例
- Android XRecyclerView實現(xiàn)多條目加載
- Android條目拖拽刪除功能實例代碼
- android RecyclerView實現(xiàn)條目Item拖拽排序與滑動刪除
- Android中l(wèi)istview和imageview實現(xiàn)條目單選效果
- Android編程實現(xiàn)canvas繪制餅狀統(tǒng)計圖功能示例【自動適應條目數(shù)量與大小】
- Android中RecyclerView上拉下拉,分割線,多條目的實例代碼
- Android 中 SwipeLayout一個展示條目底層菜單的側(cè)滑控件源碼解析
- 詳解Android中實現(xiàn)ListView左右滑動刪除條目的方法
- Android實現(xiàn)下拉展示條目效果
相關(guān)文章
Android編程實現(xiàn)播放視頻時切換全屏并隱藏狀態(tài)欄的方法
這篇文章主要介紹了Android編程實現(xiàn)播放視頻時切換全屏并隱藏狀態(tài)欄的方法,結(jié)合實例形式分析了Android視頻播放事件響應及相關(guān)屬性設置操作技巧,需要的朋友可以參考下2017-08-08Android自定義PasswordInputView密碼輸入
這篇文章主要為大家詳細介紹了Android自定義PasswordInputView密碼輸入功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08android之ContentResolver與ContentProvider介紹
這篇文章主要介紹了android之ContentResolver與ContentProvider介紹,需要的朋友可以參考下2016-01-01Android使用PowerImageView實現(xiàn)播放強大的ImageView動畫效果
今天我們就來編寫一個PowerImageView控件,讓它既能支持ImageView控件原生的所有功能,同時還可以播放GIF圖片2018-05-05Android繼承ViewGroup實現(xiàn)Scroll滑動效果的方法示例
這篇文章主要介紹了Android繼承ViewGroup實現(xiàn)Scroll滑動效果的方法,結(jié)合實例形式分析了Android滑動效果的原理及擴展ViewGroup實現(xiàn)滑動功能的相關(guān)操作技巧,需要的朋友可以參考下2017-08-08