gpt4 book ai didi

java - Android - ListView 保持为空

转载 作者:行者123 更新时间:2023-11-30 01:38:54 25 4
gpt4 key购买 nike

我目前在 fragment 中实现 ListView 时遇到问题。我使用了一个 Hashmap,然后转换成一个 arrayList,如下所示:

     public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View myView = inflater.inflate(
R.layout.fragment_portfolio, container, false);
ListView listview = (ListView) myView.findViewById(R.id.listview);

List<HashMap<String, Integer>> fillMaps = new ArrayList<>();
HashMap<String, Integer> portfoliodata = new HashMap<>();
portfoliodata.put("Test", 23);
fillMaps.add(portfoliodata);
SimpleAdapter adapter = new SimpleAdapter(getActivity().getApplicationContext(), fillMaps, R.layout.my_adapter_item, new String[] { "AAA","BBB" },
new int[] { android.R.id.text1, android.R.id.text2 });
listview.setAdapter(adapter);
return myView;
}

然而,结果总是一片空白。知道为什么这样做以及我如何解决这个问题吗?

提前致谢

最佳答案

getActivity() 不存在于方法 onCreateView() 中,因为您还没有 Activity 的上下文。

您可以探测以将代码移动到 onResume() 方法。

*请记住,您必须将每一列与您的数据相关联,类似这样:

ListView listview;

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View myView = inflater.inflate(
R.layout.fragment_portfolio, container, false);

listview = (ListView) myView.findViewById(R.id.listview);

return myView;
}

@Override
public void onResume() {
// create the grid item mapping
String[] from = new String[] {"AAA","BBB"};
int[] to = new int[] {android.R.id.text1, android.R.id.text2};

List<HashMap<String, String>> fillMaps = new ArrayList<>();
HashMap<String, String> portfoliodata = new HashMap<>();
portfoliodata.put("AAA", "Text SampleA");
portfoliodata.put("BBB", "Text SampleB");
fillMaps.add(portfoliodata);

SimpleAdapter adapter = new SimpleAdapter(getActivity(), fillMaps,
R.layout.my_adapter_item, from, to);
listview.setAdapter(adapter);
}

祝你好运!

关于java - Android - ListView 保持为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34778265/

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