在listview点击item改变imageview的状态

DonLee_GIS 2014-04-28 11:04:03


当上拉的时候图片又从圆点变成了钩,该如何使圆点变成钩而保持不变?菜鸟求助。。。
...全文
241 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wo叫天然呆 2014-04-30
  • 打赏
  • 举报
回复
引用 8 楼 u010331848 的回复:
[quote=引用 7 楼 u010331848 的回复:] 这个是你在点击时的,一个状态没有保存如果,你点击时的选中的是当前的第三项,position= 3.如果你下拉或者上拉的时候,他的position总是从0到你界面显示的最大值,会把当前界面的第三项加载为你刚点击的...原因呢就是你的状态没有保存.
刚刚说到了原因,现在给你解决办法,第一个在activity里面做操作,这个你需要一个循环,找到你所点击的项,给他赋值图片,其他的照样给你所指点的图片,第二个自定义适配器,在getview里面做操作.[/quote] 我个人比较喜欢自己写个适配器,然后在getview里面做操作,给你个链接,自己看看吧 http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html
GodKing 2014-04-29
  • 打赏
  • 举报
回复
引用 7 楼 u010331848 的回复:
这个是你在点击时的,一个状态没有保存如果,你点击时的选中的是当前的第三项,position= 3.如果你下拉或者上拉的时候,他的position总是从0到你界面显示的最大值,会把当前界面的第三项加载为你刚点击的...原因呢就是你的状态没有保存.
刚刚说到了原因,现在给你解决办法,第一个在activity里面做操作,这个你需要一个循环,找到你所点击的项,给他赋值图片,其他的照样给你所指点的图片,第二个自定义适配器,在getview里面做操作.
GodKing 2014-04-29
  • 打赏
  • 举报
回复
这个是你在点击时的,一个状态没有保存如果,你点击时的选中的是当前的第三项,position= 3.如果你下拉或者上拉的时候,他的position总是从0到你界面显示的最大值,会把当前界面的第三项加载为你刚点击的...原因呢就是你的状态没有保存.
DonLee_GIS 2014-04-29
  • 打赏
  • 举报
回复
引用 5 楼 rtyou1234 的回复:
你这是在点击的时候改变了图片,但是adapter在你滑动的时候,会不停的重新刷新列表显示内容,所以你的图片就又改变回以前的样子了。觉得还是换以个adapter,然后在getview中进行控制吧
刚学android,关于adapter选择这方面基本不了解,大神求个类似的例子有木有
DonLee_GIS 2014-04-28
  • 打赏
  • 举报
回复
package com.whu.aby; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; import com.esri.android.map.MapView; public class AboyActivity extends Activity { MapView mMapView; private ListView lv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title); mMapView = new MapView(this); lv = (ListView) findViewById(R.id.listView1); ArrayList<HashMap<String,Object>> listItem = new ArrayList<HashMap<String,Object>>(); for (int i=0;i<10;i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("imageView1",R.drawable.u25); map.put("title", " 调度指令"+i+""); map.put("context"," 这是第"+i+"行"); listItem.add(map); } SimpleAdapter mSimpleAdapter = new SimpleAdapter(this,listItem,R.layout.item,new String[] {"imageView1","title","context" }, new int [] {R.id.imageView1,R.id.title,R.id.context}); lv.setAdapter(mSimpleAdapter); lv.setOnItemClickListener( new OnItemClickListener(){ public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub ImageView image = (ImageView)arg1.findViewById(R.id.imageView1); image.setImageResource(R.drawable.u27); Intent intent = new Intent(AboyActivity.this,Notice.class); AboyActivity.this.startActivity(intent); } }); } 这是代码。。。
wo叫天然呆 2014-04-28
  • 打赏
  • 举报
回复
Image.setImageResource(ischeck ? R.drawable.xxx : R.drawable.xxx2);
wo叫天然呆 2014-04-28
  • 打赏
  • 举报
回复
在getview里面对图标进行判断,用布朗值,我做的是音乐播放器,如果这首歌在播放的时候,右边图标是一个暂停的样式,如果没播放,图标就是播放的样式
逍遥笑 2014-04-28
  • 打赏
  • 举报
回复
你这是在点击的时候改变了图片,但是adapter在你滑动的时候,会不停的重新刷新列表显示内容,所以你的图片就又改变回以前的样子了。觉得还是换以个adapter,然后在getview中进行控制吧
DonLee_GIS 2014-04-28
  • 打赏
  • 举报
回复
引用 2 楼 sweet2o09 的回复:
Image.setImageResource(ischeck ? R.drawable.xxx : R.drawable.xxx2);
package com.whu.aby; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; import com.esri.android.map.MapView; public class AboyActivity extends Activity { MapView mMapView; private ListView lv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title); mMapView = new MapView(this); lv = (ListView) findViewById(R.id.listView1); ArrayList<HashMap<String,Object>> listItem = new ArrayList<HashMap<String,Object>>(); for (int i=0;i<10;i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("imageView1",R.drawable.u25); map.put("title", " 调度指令"+i+""); map.put("context"," 这是第"+i+"行"); listItem.add(map); } SimpleAdapter mSimpleAdapter = new SimpleAdapter(this,listItem,R.layout.item,new String[] {"imageView1","title","context" }, new int [] {R.id.imageView1,R.id.title,R.id.context}); lv.setAdapter(mSimpleAdapter); lv.setOnItemClickListener( new OnItemClickListener(){ public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub ImageView image = (ImageView)arg1.findViewById(R.id.imageView1); image.setImageResource(R.drawable.u27); Intent intent = new Intent(AboyActivity.this,Notice.class); AboyActivity.this.startActivity(intent); } }); } } 这是代码。。。求助

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧