我试图进行搜索,但无法获得任何适当的帮助.我试图固定列表视图中的第一项,并在此之后从数据库中添加数据.我成功地显示了这种行为,但问题出在我在列表视图中的项目单击上使用,我没有获得正确的项目,我单击了以下代码段… copyFetchedData具有数据库中的数据
for(int i = 0;i<copyFetchedData.size();i++){ recentSearchedList.add(i, copyFetchedData.get(i).getname()); selectedAdapter.notifyDataSetChanged();}
最近搜索的清单.add(0,“我的位置”);
在上面的代码片段中,最后一行覆盖了添加的元素的位置,并将“我的位置”放到第一位置.现在,代码片段如下所示.
@OverrIDepublic 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
总结 以上是内存溢出为你收集整理的android-保持列表视图的第一项固定,并在该项之后添加数据库中的数据全部内容,希望文章能够帮你解决android-保持列表视图的第一项固定,并在该项之后添加数据库中的数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)