[英]ListActivity SimpleAdapter data not displaying properly
When I run the program the TextView texts in each row are being changed from the default text to nothing. 当我运行程序时,每一行中的TextView文本都从默认文本更改为空。 The data in the HashMaps are not displaying.
HashMaps中的数据未显示。
My main application layout(main.xml): 我的主应用程序布局(main.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Empty"/>
</LinearLayout>
My list item layout(myrow.xml): 我的列表项布局(myrow.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/item1"
android:text="row_id"
android:layout_height="wrap_content"
android:layout_width="fill_parent"/>
<TextView android:id="@+id/item2"
android:text="row_id"
android:layout_height="wrap_content"
android:layout_width="fill_parent"/>
</LinearLayout>
My application code(Test.java): 我的应用程序代码(Test.java):
public class Test extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//main list
ArrayList<HashMap<String, String>> list =
new ArrayList<HashMap<String, String>>();
//data stored in maps and maps added to list
HashMap<String, String> temp = new HashMap<String, String>();
temp.put("Name", "test");
list.add(temp);
HashMap<String, String> temp2 = new HashMap<String, String>();
temp2.put("Name1", "test1");
list.add(temp2);
String[] names = {"item1", "item2"};
int[] locations = {R.id.item1, R.id.item2};
SimpleAdapter adapter = new SimpleAdapter
(this, list, R.layout.myrow, names, locations);
setListAdapter(adapter);
}
}
If I remember it right, the key for the map should be one of the names
, meaning: 如果我没记错的话,地图的键应该是
names
,意思是:
temp.put("Name", "test");
...
String[] names = {"Name", "item2"};
Here's the full picture 这是全图
//data stored in maps and maps added to list
HashMap<String, String> temp = new HashMap<String, String>();
temp.put("Name", "test1");//first column
temp.put("Name1", "test1");//second column
list.add(temp);
HashMap<String, String> temp2 = new HashMap<String, String>();
temp2.put("Name", "test2");//first column
temp2.put("Name1", "test2");//second column
list.add(temp2);
String[] names = {"Name", "Name1"};
int[] locations = {R.id.item1, R.id.item2};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.