在我的应用中,我正在使用列表视图。我想列出的数据来自我的应用程序和xml服务器数据库的数据库。
例如,我从服务器获取了两组数据并将其存储在数组中,如下所示
firstname = {arun, Arun, Rajesh}
lastname = {kumar, sundar, kannan}
现在我再次从我的应用数据库中获取一些数据并将其存储在数组中,如下所示
first = {arul}
last = {raj}
现在我已将数组列表组合在一起,如下所示
firstname.addAll(first);
lastname.addAll(last);
现在我的输出为
{arun, Arun, Rajesh, arul}
{kumar, sundar, kannan, raj}
现在我想列出这些项目,如下图所示
怎么做,请帮帮我......
答案 0 :(得分:2)
如果你最终将你的所有名字和姓氏都放在两个独立的数组中,那么在ListView上显示它就很简单了
首先创建一个具有listview元素的布局,让我们将main.xml命名为
然后创建另一个布局,在水平布局方向上有两个TextView让我们命名为mainitem.xml
所以现在你创建一个新的活动,然后调用setContentView(R.layout.main)
然后检索列表视图
现在按照代码
创建一个适配器此代码位于onCreate(Bundle b)方法
中ListView lv= (ListView)findViewById(R.id.listview1);
// create the grid item mapping
String[] from = new String[] {"col_1","col_2"};
int[] to = new int[] { R.id.firstname, R.id.secondname};
// prepare the list of all records
List<HashMap<String, String>> fillMaps = new ArrayList<HashMap<String, String>>();
for(int i = 0; i <firstname.length && lastname.length; i++)
{
HashMap<String, String> map = new HashMap<String, String>();
map.put("col_1",firstname[i]);
map.put("col_2",lastname[i]);
fillMaps.add(map);
}
// fill in the grid_item layout
SimpleAdapter adapter = new SimpleAdapter(this, fillMaps, R.layout.mainitem, from, to);
lv.setAdapter(adapter);
创建具有两个TextView的mainitem.xml文件,其id为1)R.id.firstname,2)R.id.lastname在布局水平方向
答案 1 :(得分:0)
根据您在问题中附加的快照,您需要为其定义自定义列表视图适配器。
要定义具有2列输出的自定义行,您需要定义包含2个文本视图的xml布局文件。不要混淆,just go through this example。在此示例中,您需要修改行布局文件。制作一个行文件,这样两个文本视图将并排显示。
答案 2 :(得分:0)
创建一个存储数据的bean
public class NameDetails {
String firstName = null;
String middleName = null;
NameDetails(String firstName, String middleName){
this.firstName = firstName;
this.middleName=middleName;
}
String getFirstName(){
return firstName;
}
String getMiddleName(){
return middleName;
}
}
使用
向该bean添加数据NameDetails name1 = new NameDetails("arun","kumar");
..
...
创建Bean对象数组。将此数组用于listview
{name1 , name2, name3, name4}
答案 3 :(得分:-1)
您在寻找notifyDataSetChanged()
吗?