मेरे पास एक्सएमएल लेआउट से बनाई गई एक कस्टम सूची दृश्य है। मैं इसे अपने कस्टम डेटा क्लास से जोड़ना चाहता हूं। मैं उस वर्ग को ListAdapter में कैसे परिवर्तित करूं और लेआउट को ListView से कैसे जोड़ूं। कक्षा का कोड इस प्रकार है:

public class Sessions {

private int status;
private List<Session> sessions;

public int getStatus() {
    return status;
}

public void setStatus(int status) {
    this.status = status;
}

public List<Session> getSessions() {
    return sessions;
}

public void setSessions(List<Session> sessions) {
    this.sessions = sessions;
}

public static class Session {
    public Boolean active;
    public String contributor_covu_id;
    public String created_at;
    public String key;
    public String status;
    public String name;
    public String type;
};

}

1
Sultan Saadat 16 जून 2011, 18:24

3 जवाब

सबसे बढ़िया उत्तर

ListActivity के आधार पर एक गतिविधि बनाएं और अपने ऑनक्रिएट में नीचे दी गई चीज़ों का उपयोग करें। यह प्रत्येक पंक्ति के लिए एक साधारण दो लाइन लेआउट के साथ एक सूची बनाएगा और पाठ को सत्र के नाम और सत्र की स्थिति पर सेट करेगा।

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final List<Sessions.Session> sessions = new Sessions().getSessions();
    setListAdapter(new BaseAdapter() {

        public int getCount() {
            return sessions.size();
        }

        public Object getItem(int pos) {
            return sessions.get(pos);
        }

        public long getItemId(int pos) {
            return pos;
        }

        public View getView(int pos, View view, ViewGroup viewGroup) {
            if (view == null) {
                view = View.inflate(ViewTest.this, android.R.layout.two_line_list_item, null);
            }

            Sessions.Session session = (Sessions.Session) getItem(pos);

            TextView text = (TextView) view.findViewById(android.R.id.text1);
            text.setText(session.name);

            text = (TextView) view.findViewById(android.R.id.text2);
            text.setText(session.status);
            return view;
        }
    });
}
4
Steve Prentice 16 जून 2011, 19:22

इसकी जांच करें।

सरल सूची एडाप्टर

आप एक साधारण सूची एडेप्टर बनाने के तरीके के बारे में ट्यूटोरियल खोज सकते हैं। यह आपकी सूची को एडॉप्टर से बाइंड करने का एक आसान तरीका दिखाता है। आप कई अन्य और भी उन्नत उदाहरण पा सकते हैं।

0
DArkO 16 जून 2011, 18:43

आपको ArrayAdapter वर्ग का विस्तार करने की आवश्यकता है। यहां एक अच्छा ट्यूटोरियल है जो आपको दिखाएगा कि कैसे सही तरीकों को ओवरराइड करने के लिए (विशेषकर getView() विधि)।

0
Stefan Bossbaly 16 जून 2011, 19:14