Gridview实现银行选择列表
2013-08-14 22:54
246 查看
【MainActivity.java】
package com.example.activitydemo; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.GridView; import android.widget.RadioButton; import android.widget.AdapterView.OnItemClickListener; import android.app.Activity; public class MainActivity extends Activity { private Adapter gAdapter; private GridView gBankLogo; private int lastPosition = -1; private View lastView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gBankLogo = (GridView)findViewById(R.id.gridView1); gAdapter = new Adapter(this); //TEST for (int i = 0; i < 12; i++) { String bank = "" ; gAdapter.addObject("bank"+i, bank); } gBankLogo.setAdapter(gAdapter); gBankLogo.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (lastPosition == position) return; if (lastPosition != position) { if (lastPosition == -1) { RadioButton tmp = (RadioButton) view.findViewById(R.id.rSelect); tmp.setChecked(true); lastView = view; lastPosition = position; } else { RadioButton tmp = (RadioButton) view.findViewById(R.id.rSelect); tmp.setChecked(true); RadioButton tmp1 = (RadioButton) lastView.findViewById(R.id.rSelect); tmp1.setChecked(false); lastView = view; lastPosition = position; } } } }); } }
【Adapter.java】
package com.example.activitydemo; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.RadioButton; public class Adapter extends BaseAdapter { private ViewHolder holder; private LayoutInflater mLayoutInflater; private static Map<String, Object> M = new HashMap<String, Object>(); private static List<String> L = new ArrayList<String>(); public Adapter(Context context) { mLayoutInflater = LayoutInflater.from(context); } public void addObject(String key, String bank) { if (!L.contains(key)) { L.add(key); } M.put(key, bank); this.notifyDataSetChanged(); } public void removeObject(String key) { M.remove(key); L.remove(key); this.notifyDataSetChanged(); } public void removeAllObject() { if (getCount() != 0) { M.clear(); L.clear(); this.notifyDataSetChanged(); } } public void removeAllSelect() { if (getCount() != 0) { holder.rSelect.setChecked(false); this.notifyDataSetChanged(); } } @Override public int getCount() { // TODO Auto-generated method stub return M.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return M.get(L.get(position)); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub if (convertView == null) { holder = new ViewHolder(); convertView = mLayoutInflater.inflate(R.layout.item_msgbanklogo, null); holder.iBankLogo = (ImageView) convertView .findViewById(R.id.iBankLogo); holder.rSelect = (RadioButton) convertView .findViewById(R.id.rSelect); holder.iBankLogo.setClickable(false); holder.rSelect.setClickable(false); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.iBankLogo.setImageResource(R.drawable.abc); return convertView; } }
【ViewHolder.java】
package com.example.activitydemo; import android.widget.ImageView; import android.widget.RadioButton; public class ViewHolder { ImageView iBankLogo; RadioButton rSelect; }
相关文章推荐
- Gridview实现银行选择列表
- Gridview 实现列表全选、自动选择下级item的功能
- 关于在GridView模版里添加DropDownList实现根据下拉列表的不同选择gridview根据条件筛选显示。
- ASP.NET2.0中GridView加入CheckBox实现全选,跨页CheckBox选择
- javascript操作两个选择列表(有两个列表,如何实现在一个列表通过双击和多选列表中内容添加到另一个列表. )
- 使用recyclerView,GridView来实现动态显示商品选择规格
- C语言实现一个Window控制台带彩色,且可以用方向键选择并确认的菜单式列表(二) ---学生信息管理系统
- spinner实现下拉列表中选择项目
- 下拉列表+选择+实现网页链接
- 关于批量选择新增成员到群组列表的实现方法。
- javaScript 实现一个 下拉列表选择 的函数
- JS 实现列表与多选框选择
- C# TreeGridView 实现进程列表
- 【JavaEE企业应用实战学习记录】optiontransferselect实现两个列表选择框
- 控制backspace键删除字符实现微博用户删除+展现选择好友列表
- GridView与ObjectDataSource 实现列表的view,edit,add,delete,sort操作
- php实现的美国50个州选择列表实例
- android开发之&使用ViewPager加gridView实现菜单按钮分页滑动(类似QQ表情选择翻页效果)
- [原创]扩展GridView实现多选(全选)、点击行任意位置选择行、选中变色、添加双击事件等
- JavaScript(JS)实现省市联动选择下拉列表