在片段内使用多个自定义ListView适配器

时间:2013-01-21 16:43:37

标签: android android-listview android-fragments

我有一个包含三个列表视图的片段,每个视图都连接到一个不同的自定义适配器。

Heres是我的代码:

片段类:

package com.example.buffy;

import java.util.ArrayList;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.app.ListFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

public class UserInfoFragment extends ListFragment 
{
 ListView LST_userDetail;
 ListView LST_communicationDetail;
 ListView LST_generalDetail;

 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
 {
        super.onCreate(savedInstanceState);
        View view = inflater.inflate(R.layout.afragment, container, false);
        Activity a = getActivity();
        LST_userDetail=(ListView)view.findViewById(R.id.LST_userDetailList);
        LST_communicationDetail=(ListView)view.findViewById(R.id.LST_communicationDetailList);
        LST_generalDetail = (ListView)view.findViewById(R.id.LST_generalDetailList);


        /*
         *  כאן נצטרך לחבר את המאגר המידע ולשאוב ממנו מידע, כרגע אני מכניס נתונים שרירותית
         *  מכין את האדפטור של המידע על המשתמש
         */
        ArrayList<UserInfo> userInfoData = new ArrayList<UserInfo>();
        userInfoData.add(new UserInfo("אלפסי עומר", "שם לקוח"));
        userInfoData.add(new UserInfo("301541541", "ת.ז"));
        userInfoData.add(new UserInfo("26/03/1988", "ת.לידה"));
        UserDetailAdapter uAdapter = new UserDetailAdapter(getActivity(), R.layout.user_detail_row, userInfoData);
        LST_userDetail.setAdapter(uAdapter);


        /*
         *  כאן נצטרך לחבר את המאגר המידע ולשאוב ממנו מידע, כרגע אני מכניס נתונים שרירותית
         *  מכין את האדפטור של המידע על פרטי התקשרות
         */

        ArrayList<CommunicationInfo> comInfoData = new ArrayList<CommunicationInfo>();
        comInfoData.add(new CommunicationInfo(R.drawable.telephone, "טל. בית", "04985349334"));
        comInfoData.add(new CommunicationInfo(R.drawable.telephone, "טל. נייד", "05434983933"));
        comInfoData.add(new CommunicationInfo(R.drawable.fax, "פקס עבודה", "07435325233"));
        comInfoData.add(new CommunicationInfo(R.drawable.mail, "דוא''ל עיקרי ", "omer@b-com.co.il"));
        CommunicationUserAdaptor cAdaptor = new CommunicationUserAdaptor(getActivity(), R.layout.communitcation_detail_row, comInfoData);
        LST_communicationDetail.setAdapter(cAdaptor);


        /*
         *  כאן נצטרך לחבר את המאגר המידע ולשאוב ממנו מידע, כרגע אני מכניס נתונים שרירותית
         *  מכין את האדפטור של המידע על פרטים כללים
         */

        ArrayList<UserInfo> genInfoDate = new ArrayList<UserInfo>();
        genInfoDate.add(new UserInfo("סוכן", "סוכן לדוגמה"));
        genInfoDate.add(new UserInfo("בי-קום פתרונות תוכנה בע''מ", "מעסיק"));
        GeneralInfoAdapter gAdaptor = new GeneralInfoAdapter(getActivity(), R.layout.user_detail_row, genInfoDate);
        LST_generalDetail.setAdapter(gAdaptor);




        return inflater.inflate(R.layout.afragment, container, false);


    }

}

问题是它永远不会重新定义自定义适配器类中的getView方法。 并且从未填充列表视图。

任何人都有任何想法?

请不要介意有趣的角色

非常感谢

1 个答案:

答案 0 :(得分:1)

您正在返回新增加的视图,

使用return view代替