package com.uumap.adapter;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import com.uumap.Entity.PoiInfo;
import com.uumap.MapInterface.FavoriteActivity;
import com.uumap.MapInterface.FindActivity;
import com.uumap.MapInterface.R;
import com.uumap.MapInterface.mapIndex;
import com.uumap.adapter.FavoriteListAdapter.lvButtonListener;
import com.uumap.mapview.Map;
import com.uumap.util.CacheTools;
import com.uumap.util.FileUtil;
import com.uumap.util.StrUtil;
import com.uumap.views.PoiImgView;
public class FindResutlAdapter extends BaseAdapter
{
private List<PoiInfo> itemList;
private Context context;
private LayoutInflater lif;
private ViewHolder holder;
public FindResutlAdapter(Context context, List<PoiInfo> itemList)
{
this.context = context;
this.itemList = itemList;
lif = LayoutInflater.from(context);
}
final class ViewHolder
{
public Button mapBtn;
public TextView tv1;
public TextView tv2;
}
@Override
public int getCount()
{
return itemList.size();
}
@Override
public Object getItem(int position)
{
return itemList.get(position);
}
@Override
public long getItemId(int position)
{
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
if (convertView == null)
{
holder = new ViewHolder();
convertView = lif.inflate(R.layout.findresult_item, null);
holder.mapBtn=(Button) convertView.findViewById(R.id.mapBtn);
holder.tv1 = (TextView) convertView.findViewById(R.id.poi_name);
holder.tv2 = (TextView) convertView.findViewById(R.id.poi_address);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.tv1.setText(itemList.get(position).getName());
String address = "";
address = itemList.get(position).getAddress();
if (address!=null){
if ("".equals(address.trim()))
{
address = "暂无地址信息";
}
}else{
address = "暂无地址信息";
}
holder.tv2.setText(address);
// holder.mapBtn.setOnClickListener(new lvButtonListener(position));
return convertView;
}
public void getMapPoint(int position) {
mapIndex.jwxy[0] = itemList.get(position).getJwx();
mapIndex.jwxy[1] = itemList.get(position).getJwy();
String title = itemList.get(position).getName();
// Map.locateJwxy[0] = mapIndex.jwxy[0];
// Map.locateJwxy[1] = mapIndex.jwxy[1];
CacheTools.select = "SelectPoiActivity";
Bitmap poiImg = BitmapFactory.decodeResource(Map.curContext.getResources(),
R.drawable.poi);
PoiImgView iv = new PoiImgView(Map.curContext, 0);
iv.setImageBitmap(poiImg);
PoiInfo poi = new PoiInfo();
poi.setIv(iv);
poi.setJwx(mapIndex.jwxy[0]);
poi.setJwy(mapIndex.jwxy[1]);
poi.setName(title);
poi.setResultId(0);
poi.setSelect(false);
Map.tmDiv.rstPoi = poi;
if(Map.poiInfos!=null){
Message message = Message.obtain();
mapIndex.selectPoi.handleMessage(message);
}
}
class lvButtonListener implements OnClickListener {
private int position;
lvButtonListener(int pos) {
position = pos;
}
public void onClick(View v) {
int vid = v.getId();
if (vid == holder.mapBtn.getId()) {
getMapPoint(position);
((FindActivity) context).finish();
}
}
}
}
分享到:
相关推荐
为了实现“C# Winform ListView添加按钮列”,我们需要对`ListView`进行扩展或使用第三方库,例如在本例中提到的CXListView。 `ListView`控件的基础用法包括创建列、添加项和设置项的属性。默认情况下,它只能显示...
综上所述,解决Android程序中ListView与Button共存的问题,主要是通过合理的布局设计、事件处理和属性设置,确保ListView的item点击事件和Button的点击事件能够正确分发和响应。同时,随着技术的发展,开发者也可以...
本文将深入探讨如何在ListView中添加图片和按钮,并实现它们以及ListView的双监听,以便按钮点击时能触发Activity的跳转。 首先,我们需要创建一个自定义的ListView适配器,通常会继承自BaseAdapter。在这个适配器...
使用BaseAdapter自定义适配器,采用了回收converView和ViewHolder优化代码,并且解决了在ListView中使用Button时,ListView的itemClick不能被触发的问题。
在“listview添加按钮”的场景下,我们通常会在ListView的底部或者顶部添加一个按钮,以供用户执行特定的操作,比如添加新的数据项。这个功能对于许多应用,如通讯录、任务列表或购物车等,都是至关重要的。 首先,...
本文将深入探讨如何正确地在Android应用中实现ScrollView与ListView、ViewPager的共存。 首先,我们来看ScrollView。ScrollView是一个可以包含多个子视图并允许用户滚动查看这些视图的容器。它通常用于包含内容过多...
1、点击ListView中其中的一项,Item中处于隐藏状态的操作按钮部分布局显示,其他项显示的布局同时被隐藏,再次点击该项,操作按钮部分布局再次隐藏。 2、点击各个按钮,分别弹出哪个按钮被点击(也就是点击每一个...
为了增强用户体验和交互性,我们常常会在ListView的每一项(Item)中添加按钮。这样,用户可以通过点击按钮来执行特定的操作,如查看详情、删除条目等。本教程将详细介绍如何在ListView中添加按钮并实现监听事件。 ...
如果只是想在ListView上方或下方添加可滚动的内容,可以使用ListView的Headerview和Footerview特性,将这部分内容单独处理,不与ListView的滚动冲突。 总之,解决ListView和ScrollView共存问题的关键在于理解它们...
在Android开发中,ScrollView与ListView的共存是一个常见的需求,特别是在设计复杂布局时。这两个组件都是用于滚动内容,但它们的使用方式和目的各有不同。ScrollView是一个可滚动的视图容器,可以包含一个或多个...
同时,ViewHolder也可以帮助我们更好地管理视图状态,确保每个按钮的状态只与对应的数据项关联。 3. **记录点击状态**:在数据模型中添加一个字段来记录按钮的点击状态。当`getView()`方法被调用时,根据这个字段...
使用tablelayout和fragment结合的顶部导航栏的方法对几种模式进行分类,在使用list view将几种操作方法进行适配,对listview中的多个按钮相应不同的方法,输出指令。 有兴趣可以看看这篇博客:...
总之,为ListView的每个Item的按钮添加事件并获取TextView文本,关键在于适当地设置OnClickListener,并在点击事件中正确地定位和获取对应的TextView。记得在Adapter的getView()方法中进行这些操作,确保每个Item的...
本篇文章将详细讲解如何实现ListView中Item的左滑动显示删除按钮。 首先,我们需要一个自定义的ListView,这通常通过继承ListView类并重写其onTouchEvent()方法来实现。在这个方法中,我们可以监听用户的滑动操作。...
### Android ScrollView与ListView/GridView共存冲突解决方案 #### 背景介绍 在Android开发过程中,经常需要将多个UI组件组合在一起以实现丰富的界面效果。其中,`ScrollView`是一种常用的容器,可以用来包裹一系列...
综上所述,这个“android SQlite、listView中加按钮的使用”的项目涵盖了Android开发中的重要知识点,包括SQLite数据库的管理和操作,ListView的自定义适配器及事件监听,以及sharedPreferences的使用。这些技术对于...
TestListView&RadioBtn可能是测试用例或布局资源文件,用于验证ListView与单选按钮的交互功能是否正常。开发者可能会编写单元测试来检查Adapter的功能,或者在XML布局文件中定义ListView和RadioButton的布局结构。 ...
ScrollView中嵌套ListView,还可以嵌套多个listview 解决无法共存问题。放到项目中可以直接用
下面我们将详细探讨如何在Android中正确实现ScrollView和ListView的共存,以及如何处理可能遇到的问题。 首先,理解ScrollView和ListView的特性是关键。ScrollView是一个可以容纳多个子视图并允许整体滚动的容器,...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。当ListView中的每一项包含有可交互的按钮时,我们需要监听并处理这些按钮的点击事件。本篇将详细介绍如何在Activity中响应ListView内部按钮的...