gpt4 book ai didi

java - Android:在 fragment 中填充 ListView

转载 作者:行者123 更新时间:2023-11-29 21:59:51 25 4
gpt4 key购买 nike

我有一个填充 ListView 的 Activity ,它正在运行。因为我使用选项卡 ViewPager,所以我必须使用 fragment 而不是 Activity 。那么有人能告诉我我需要更改什么才能从我的 Activity 中制作 fragment 吗(FragmentActivity 不能在选项卡中使用)。

package com.basnijkamp.safanagendatest;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class ListSample extends Activity {

public final static String ITEM_TITLE = "title";
public final static String ITEM_CAPTION = "caption";

public Map<String,?> createItem(String title, String caption) {
Map<String,String> item = new HashMap<String,String>();
item.put(ITEM_TITLE, title);
item.put(ITEM_CAPTION, caption);
return item;
}

@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);

List<Map<String,?>> september2012 = new LinkedList<Map<String,?>>();
september2012.add(createItem("Electra Mining Africa 2012", "Johannesberg South Africa"));
september2012.add(createItem("MSV", "Brno Czech Republic"));
september2012.add(createItem("IMTS", "Chicago USA"));
september2012.add(createItem("AMB", "Stuttgart Germany"));
september2012.add(createItem("Den Teknise Messe", "Lillestrom Norway"));
september2012.add(createItem("ITM", "Plovdiv Bulgaria"));

List<Map<String,?>> oktober2012 = new LinkedList<Map<String,?>>();
oktober2012.add(createItem("BIMU", "Milan Italy"));
oktober2012.add(createItem("Matek", "Istanbul"));
oktober2012.add(createItem("TIB", "Bucharest Romania"));
oktober2012.add(createItem("Vienna Tec", "Vienna Austria"));
oktober2012.add(createItem("Euro Blech 2012", "Hanover Germany"));
oktober2012.add(createItem("Technica Massan", "Stockholm Sweden"));

List<Map<String,?>> november2012 = new LinkedList<Map<String,?>>();
november2012.add(createItem("JIMTOF", "Tokyo Japan"));
november2012.add(createItem("Metavak", "Gorinchem Netherlands"));
november2012.add(createItem("FABTECH", "Las Vegas USA"));
november2012.add(createItem("Prodex", "Basel Switzerland"));
november2012.add(createItem("EMAF 2012", "Porto Portugal"));
november2012.add(createItem("Manufact Indonesia", "Jakarta Indonesia"));

// create our list and custom adapter
SeparatedListAdapter adapter = new SeparatedListAdapter(this);
adapter.addSection("September 2012", new SimpleAdapter(this, september2012, R.layout.list_complex,
new String[] { ITEM_TITLE, ITEM_CAPTION }, new int[] { R.id.list_complex_title, R.id.list_complex_caption }));
adapter.addSection("Oktober 2012", new SimpleAdapter(this, oktober2012, R.layout.list_complex,
new String[] { ITEM_TITLE, ITEM_CAPTION }, new int[] { R.id.list_complex_title, R.id.list_complex_caption }));
adapter.addSection("November 2012", new SimpleAdapter(this, november2012, R.layout.list_complex,
new String[] { ITEM_TITLE, ITEM_CAPTION }, new int[] { R.id.list_complex_title, R.id.list_complex_caption }));

ListView list = new ListView(this);
list.setAdapter(adapter);
this.setContentView(list);

}

}

提前致谢

最佳答案

我建议您扩展 ListFragment - http://developer.android.com/reference/android/app/ListFragment.html .

从这里开始:

        ListView list = new ListView(this); 
list.setAdapter(adapter);
this.setContentView(list);

你应该这样做:

        setListAdapter (adapter); 

来自

@Override 
public void onCreate(Bundle icicle) {
super.onCreate(icicle);

->

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);

ListSample extends Activity -> ListSample extends ListFragment

如果需要更多详细信息,请告诉我,祝你好运

关于java - Android:在 fragment 中填充 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12238481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com