ListView中顯示不同的item

2021-07-11 02:12:46 字數 2251 閱讀 4921

listview中顯示不同的item,一般應用在插廣告什麼的:

直接說思路:

材料:乙個主頁面---------------activity_list_man   下巢狀個listview

若干個子頁面------------listview的item實現:取名為:listview_one_item  和listview_two_item

乙個主頁面對應的activity-------------------listmainactivity

乙個設定listview的介面卡-----------------myadapter

還有就是集合實體的物件:渲染介面卡的------------------list

大概大的方面就是這幾個東西了:

主頁面:

"xmlns:tools=""

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingbottom="@dimen/activity_vertical_margin"

android:paddingleft="@dimen/activity_horizontal_margin"

android:paddingright="@dimen/activity_horizontal_margin"

android:paddingtop="@dimen/activity_vertical_margin"

tools:context="com.example.guangbo.listmainactivity" >

listview對應的若干子頁面:

1.listview_one_item :

<?xml version="1.0" encoding="utf-8"?>

"android:layout_width="match_parent"

android:layout_height="match_parent"

>

2.listview_two_item

<?xml version="1.0" encoding="utf-8"?>

"android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

資料實體類:

public class myclass implements serializable

public void setusername(string username)

public string getpsw()

public void setpsw(string psw)

public int getage()

public void setage(int age)

我把介面卡寫在了activity中,所以一起貼上activity**:

public class listmainactivity extends activity

private listgetdate()

return lists;

}class myadapter extends baseadapter

@override

public int getcount()

@override

public object getitem(int arg0)

@override

public long getitemid(int arg0)

@override

public view getview(int arg0, view convertview, viewgroup arg2)

else

convertview.settag(holder);

}else

string username=list.get(arg0).getusername();

holder.one.settext(list.get(arg0).getusername());

holder.two.settext(list.get(arg0).getpsw());

return convertview;}}

class viewholder

}搞定:

其實總結起來,做這個效果的最核心是:根據不同的條件,選擇不同的layout,然後填上資料



ListView顯示不同布局

在使用不同布局的時候,getitemviewtype和getviewtype不能少,通常是不用這兩個函式的過載的 listview.setadapter new baseadapter override public int getitemviewtype int position if posit...

ListView 顯示兩種不同的Item 布局

1,需求 android 7.0 設定settings,新增語言add language的展示介面中,去除suggested 這個條目 經過分析發現,其實就是listview 的item 展示不同布局的問題 第一步 change date 2018 3 16 by 第乙個type型別從 type h...

ListView顯示不同布局時注意事項

listview顯示兩種以上的布局的時候我們的adapter需要重寫兩個函式 乙個是getviewtypecount 返回不同type的總數量,比如3種不同布局,可以返回3或者3以上都ok 乙個是getitemviewtype 返回當前的type 注意事項一 兩個函式需要一起重寫不然報錯 注意事項二...