gpt4 book ai didi

java - android - 带有 HashMap 的 ListView 适配器显示不正确

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

我正在尝试创建一个非常基本的 ListView 对话框,其中每个项目都有一个子标题。为此,我尝试将 simple_list_item_2 布局与 List(Map(String,String)) 的适配器一起使用。代码如下:

public static class StoreList extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final List<Map<String, String>> data = new ArrayList<Map<String, String>>();

// Dummy data
Map<String, String> datum = new HashMap<String, String>();
datum.put("name", "Name1");
datum.put("address", "USA");
data.add(datum);
Map<String, String> datum2 = new HashMap<String, String>();
datum.put("name", "Name2");
datum.put("address", "CAN");
data.add(datum2);

// Adapter for the ListView:
SimpleAdapter adapter = new SimpleAdapter(
getActivity(),
data,
android.R.layout.simple_list_item_2,
new String[] {"name", "address"},
new int[] {android.R.id.text1, android.R.id.text2});

// Listener for the ListView:
DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(getActivity(), StoreActivity.class);
Map<String, String> listItem = data.get(which);
i.putExtra("name", listItem.get("name"));
i.putExtra("address", listItem.get("address"));
startActivity(i);
}
};

// Build the ListView dialog:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.storeListTitle);
builder.setAdapter(adapter, listener);
return builder.create();
}
}

执行后的结果是这样的:

http://i.imgur.com/8gkTECe.png

如您所见,只显示了四个文本字符串中的一个。这是怎么回事?

最佳答案

您在 datum 而不是 datum2 上设置值。

   // Dummy data
Map<String, String> datum = new HashMap<String, String>();
datum.put("name", "Name1");
datum.put("address", "USA");
data.add(datum);
Map<String, String> datum2 = new HashMap<String, String>();
datum.put("name", "Name2"); //should be datum2
datum.put("address", "CAN"); //should be datum2
data.add(datum2);

关于java - android - 带有 HashMap 的 ListView 适配器显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17537031/

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