Android ListView 條目多樣式展示實(shí)例詳解
ListView的多種樣式條目展示
- 這里給大家介紹一下簡(jiǎn)單的ListView的多種樣式展示
- 在布局文件中和往常一樣寫(xiě)一個(gè)ListViwe的布局
<ListView
android:id="@+id/main_listview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
其他的這里就不多說(shuō)了,直接介紹適配器里的操作
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開(kāi)始
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;
}
/*
* 注意我們要填充的布局個(gè)數(shù)和我們要展示的樣式個(gè)數(shù)一樣
* 最好一個(gè)樣式一個(gè)填充布局
*
* */
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
// 獲取當(dāng)前條目的類(lèi)型
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;
}
/**
* 獲取具體的某個(gè)索引值下的條目的條目類(lèi)型
*/
@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條目類(lèi)別的個(gè)數(shù)(樣式)
*/
@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return 2;
}
//容器
class ViewHolder{
ImageView imageView;
TextView texttitle,textcopyright,texttime;
}
}
以上是多條目樣式展示的一種
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android RecyclerView實(shí)現(xiàn)點(diǎn)擊條目刪除
- Android自定義SwipeLayout仿QQ側(cè)滑條目
- Android仿京東分類(lèi)模塊左側(cè)分類(lèi)條目效果
- Android更多條目收縮展開(kāi)控件ExpandView的示例代碼
- Android ListView自動(dòng)生成列表?xiàng)l目的實(shí)例
- Android XRecyclerView實(shí)現(xiàn)多條目加載
- Android條目拖拽刪除功能實(shí)例代碼
- android RecyclerView實(shí)現(xiàn)條目Item拖拽排序與滑動(dòng)刪除
- Android中l(wèi)istview和imageview實(shí)現(xiàn)條目單選效果
- Android編程實(shí)現(xiàn)canvas繪制餅狀統(tǒng)計(jì)圖功能示例【自動(dòng)適應(yīng)條目數(shù)量與大小】
- Android中RecyclerView上拉下拉,分割線(xiàn),多條目的實(shí)例代碼
- Android 中 SwipeLayout一個(gè)展示條目底層菜單的側(cè)滑控件源碼解析
- 詳解Android中實(shí)現(xiàn)ListView左右滑動(dòng)刪除條目的方法
- Android實(shí)現(xiàn)下拉展示條目效果
相關(guān)文章
Android編程之控件可拖動(dòng)的實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程之控件可拖動(dòng)的實(shí)現(xiàn)方法,實(shí)例分析了Android響應(yīng)點(diǎn)擊及觸摸事件的相關(guān)技巧,需要的朋友可以參考下2016-02-02
Android編程實(shí)現(xiàn)播放視頻時(shí)切換全屏并隱藏狀態(tài)欄的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)播放視頻時(shí)切換全屏并隱藏狀態(tài)欄的方法,結(jié)合實(shí)例形式分析了Android視頻播放事件響應(yīng)及相關(guān)屬性設(shè)置操作技巧,需要的朋友可以參考下2017-08-08
Android自定義PasswordInputView密碼輸入
這篇文章主要為大家詳細(xì)介紹了Android自定義PasswordInputView密碼輸入功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
Android實(shí)現(xiàn)簡(jiǎn)單卡片布局
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)卡片布局的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
android之ContentResolver與ContentProvider介紹
這篇文章主要介紹了android之ContentResolver與ContentProvider介紹,需要的朋友可以參考下2016-01-01
Android使用PowerImageView實(shí)現(xiàn)播放強(qiáng)大的ImageView動(dòng)畫(huà)效果
今天我們就來(lái)編寫(xiě)一個(gè)PowerImageView控件,讓它既能支持ImageView控件原生的所有功能,同時(shí)還可以播放GIF圖片2018-05-05
Android繼承ViewGroup實(shí)現(xiàn)Scroll滑動(dòng)效果的方法示例
這篇文章主要介紹了Android繼承ViewGroup實(shí)現(xiàn)Scroll滑動(dòng)效果的方法,結(jié)合實(shí)例形式分析了Android滑動(dòng)效果的原理及擴(kuò)展ViewGroup實(shí)現(xiàn)滑動(dòng)功能的相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
php 異步調(diào)用方法實(shí)現(xiàn)示例
客戶(hù)端與服務(wù)器端是通過(guò)HTTP協(xié)議進(jìn)行連接通訊,客戶(hù)端發(fā)起請(qǐng)求,服務(wù)器端接收到請(qǐng)求后執(zhí)行處理,并返回處理結(jié)果2014-01-01

