android中使用视图显示数据库数据,android-保持列表视图的第一项固定,并在该项之后添加数据库中的数据...

我试图进行搜索,但无法获得任何适当的帮助.我试图固定列表视图中的第一项,并在此之后从数据库中添加数据.我成功地显示了这种行为,但问题出在我在列表视图中的项目单击上使用,我没有获得正确的项目,我单击了以下代码段… copyFetchedData具有数据库中的数据

for(int i = 0;i

recentSearchedList.add(i, copyFetchedData.get(i).getName());

selectedAdapter.notifyDataSetChanged();

}

最近搜索的清单.add(0,“我的位置”);

在上面的代码片段中,最后一行覆盖了添加的元素的位置,并将“我的位置”放到第一位置.现在,代码片段如下所示.

@Override

public void onItemClick(AdapterView> arg0, View arg1, int position, long arg3) {

if (displayList == arg0) {

if(position == 0){

editLocation.setText("");

}

else{

String fetchedName = (String) displayList.getItemAtPosition(position);

Toast.makeText(getApplicationContext(), "Name is "+fetchedName, Toast.LENGTH_LONG).show();

Constants.searchedLocLat = copyFetchedData.get(position).getLat();

Constants.searchedLocLon = copyFetchedData.get(position).getLon();

Constants.searchedLocName = copyFetchedData.get(position).getName();

editLocation.setText(Constants.searchedLocName);

}

}

}

我使用此命令得到的输出使我的位置错误.我知道这是因为我在位置0处强行添加了元素,这会导致这种行为,有人可以告诉我正确的方法.

解决方法:

您可以使用addHeaderView()做到这一点,

ListView lv = (ListView)findViewById(R.id.listview1); //your listview object

View hvw = findViewById(R.id.listrow);

//Suppose you have one textview in that Row

TextView tv = hvw.findViewById(R.id.tv1); // get textview object

tv.setText("Your first item value"); // set text

lv.addHeaderView(hvw); // add header view

标签:listviewitem,listview,android

来源: https://codeday.me/bug/20191101/1981388.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值