Android:ListView BaseAdapter
来源:互联网 发布:ubuntu怎么下载软件 编辑:程序博客网 时间:2024/05/08 00:16
Password.java
package com.example.shejike;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class PasswordActivity extends Activity {private ListView lv;private ArrayList<HashMap<String, String>> list;private LVbaseadapter lvbaseadapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.password);list = new ArrayList<HashMap<String, String>>();for (int i = 0; i < 10; i++) {HashMap<String, String> hm = new HashMap<String, String>();hm.put("tv1", "tv1" + i);hm.put("tv2", "tv2" + i);list.add(hm);}lvbaseadapter = new LVbaseadapter(this, list);lv = (ListView) findViewById(R.id.lV1);lv.setAdapter(lvbaseadapter);}/** * * 继承BaseAdapter 后可以实现单个item中的子组件的单独事件,例如点击事件 * */class LVbaseadapter extends BaseAdapter {private LayoutInflater layoutInflater;private Holder holder;private ArrayList<HashMap<String, String>> list;public LVbaseadapter(Context context,ArrayList<HashMap<String, String>> list) {this.layoutInflater = LayoutInflater.from(context);this.list = list;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int arg0) {return list.get(arg0);}@Overridepublic long getItemId(int arg0) {return arg0;}public void removeItem(int position) {list.remove(position);// 适配器数据已经发生变化,通知listview及时更新。this.notifyDataSetChanged();}@Overridepublic View getView(int arg0, View arg1, ViewGroup arg2) {if (arg1 == null) {holder = new Holder();arg1 = layoutInflater.inflate(R.layout.line, null);holder.tv1 = (TextView) arg1.findViewById(R.id.tv1);holder.tv2 = (TextView) arg1.findViewById(R.id.tv2);arg1.setTag(holder);} else {holder = (Holder) arg1.getTag();}holder.tv1.setText(list.get(arg0).get("tv1").toString());holder.tv2.setText(list.get(arg0).get("tv2").toString());holder.tv1.setOnClickListener(new MyClick(arg0));holder.tv2.setOnClickListener(new MyClick(arg0));return arg1;}}class Holder {public TextView tv1, tv2;}class MyClick implements OnClickListener {private int position;MyClick(int position) {this.position = position;}@Overridepublic void onClick(View v) {if (R.id.tv1 == v.getId()) {lvbaseadapter.removeItem(position);Log.i("tv1", "tv1 ---------------" + position);} else if (R.id.tv2 == v.getId()) {Log.i("tv2", "tv2 ---------------" + position);} else {Log.i("tv", "other ---------------" + position);}}}}
password.java
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background" > <ListView android:id="@+id/lV1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" > </ListView> </LinearLayout>
line.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tv1" android:layout_width="120dp" android:layout_height="wrap_content" android:background="#00aa00" android:text="TextView" /> <TextView android:id="@+id/tv2" android:layout_width="100dp" android:layout_height="wrap_content" android:background="#0000aa" android:text="TextView" /></LinearLayout>
- Android ListView理解,BaseAdapter
- Android ListView理解,BaseAdapter
- Android ListView BaseAdapter 分析
- Android ListView理解,BaseAdapter
- Android:ListView BaseAdapter
- [Android]ListView-BaseAdapter
- android listview baseadapter
- Android ListView理解,BaseAdapter (概念)
- Android ListView理解之BaseAdapter
- Android ListView(四) ---继承BaseAdapter
- Android ListView BaseAdapter的理解
- Android杂谈--ListView之BaseAdapter
- Android开发ListView之BaseAdapter
- Android ListView使用BaseAdapter 优化
- android listview的适配器------baseadapter
- ListView ( BaseAdapter )
- listview baseadapter
- ListView BaseAdapter
- 多线程下的多定时器处理
- WebService之WSDL
- linux 相关网站收藏
- android webview js交互 第一节 (java和js交互)
- XML-RPC、SOAP对比
- Android:ListView BaseAdapter
- 如何判断当前的接触式交易是PBOC还是EC
- CentOS 6.4系统中编译和升级内核
- Windows Store 平台移植 —— (10) 回顾
- 网络验证码提交
- 安卓开发之混淆代码
- 多线程环境下定时器存在的问题
- 配置ant遇到"ANT_HOME is set incorrectly"错误。
- android webview js交互, 响应webview中的图片点击事件