[英]Create multiple list item views
我是android開發世界的新手
我的應用程序中有一個MainActivity,其中顯示了來自外部JSON文件的團隊列表
所以我有activity_main.xml布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- Main ListView
Always give id value as list(@android:id/list)
-->
<Button
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/schedules"
android:onClick="getSchedules" />
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
而且我有list_item.xml布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp" >
<!-- Name Label -->
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:paddingTop="6dip"
android:textColor="#43bd00"
android:textSize="16sp"
android:textStyle="bold" />
<!-- Email label -->
<!-- Mobile number label -->
<TextView
android:id="@+id/alias"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="Mobile: "
android:textColor="#5d5d5d"
android:textStyle="bold" />
<TextView
android:id="@+id/city"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:textColor="#acacac" />
</LinearLayout>
(我按照教程進行操作。)
現在,我創建了另一個活動SchedulesActivity,其中我做完全相同的事情,但使用不同的數據(不同的字段)。 所以我創建了activity_schedules.xml布局:
<?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="vertical" >
<Button
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/teams"
android:onClick="getTeams" />
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
現在,我需要創建另一個list_item.xml,以顯示其他數據,但是它已經存在。 我該如何創建不同的list_item布局。
第二個問題:在activity_schedules.xml中,每次我嘗試將ListView的ID從列表更改為其他ID時,都會出現錯誤“找不到與給定名稱匹配的源”
謝謝
list_item,如果您想顯示相同類型的數據,我的意思是,如果您創建的第一個list_item和要創建的第二個list_item包含相同的字段,如果是,則無需再創建一個,則可以通過在任何地方放大它來使用相同的list_item您想要顯示是否可以使用不同的名稱創建完全不同的list_item
activity_Schedules.xml,您將id用作android:id“ @android:id / list”表示您是Android系統中的現有ID。 如果您要創建其他ID,請嘗試“ android:id” somename”
在自定義適配器中,您可以指定將作為視圖膨脹的布局的ID。
您可以創建兩個不同的適配器,並在每個適配器中設置所需的ID,也可以通過Adapter構造函數傳遞需要膨脹的布局的ID。
private int _idLayout;
public ListAdapter(Context context, int idLayout) {
super(context, idLayout);
_idLayout = idLayout;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
convertView = inflater.inflate(_idLayout, parent, false);
}
return convertView;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.